Скрипты Inno Setup. Помощь и советы [часть 4]

Ответить
 • Просмотры: 27
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение Gnom_aka_Lexander »

Цитата R.i.m.s.k.y.:



CompressionThreads=4 ... а в секции Files для мелких файлов указывать флаг SolidBreak
Скрипты Inno Setup. Помощь и советы [часть 4]




спасибо попробую


Цитата R.i.m.s.k.y.:



SolidCompression=true лучше не комментировать
Скрипты Inno Setup. Помощь и советы [часть 4]




в случае если есть компоненты оно лишнее, но когда компонент 1, то это может неплохо уменьшить размер
Аватара пользователя
Johny777

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение Johny777 »

Johny777, ну вот и указывай в каждой новой строчке с другой компонентой флаг SolidBreak



This flag instructs the compiler to finalize the current compression stream and begin a new one before compressing the file(s) matched by Source. This allows Setup to seek to the file instantly without having to decompress any preceding files first. May be useful in a large, multi-component installation if you find too much time is being spent decompressing files belonging to components that weren't selected.
Аватара пользователя
nik1967

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение nik1967 »

Johny777, как то криво, но работает Изображение



Код:

Код: Выделить всё

If not (FileSearch('DXSETUP.exe', ExpandConstant('{src}\Redist\DirectX10'))='') then begin
  Icon_hl2 := TNewCheckBox.Create(WizardForm);


Ну или так




Код:

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
OutputDir=.
[Languages]
Name: Russian; MessagesFile: compiler:Languages\Russian.isl;
[_Code]
var
QuickLaunchIcon: TCheckBox;
function MakeQuickLaunchIcon: Boolean;
begin
    Result:=QuickLaunchIcon.Checked;
end;
procedure InitializeWizard();
begin
If FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe')) then 
begin
QuickLaunchIcon := TCheckBox.Create(WizardForm);
 with QuickLaunchIcon do
  begin
    Parent := WizardForm.SelectDirPage;
    Caption := 'Создать значок в Панели быстрого запуска';
    Left := ScaleX(0);
//    Left := WizardForm.DirEdit.Top + 100;
    Top := WizardForm.DirEdit.Top + 117;
    Width := ScaleX(300);
    Height := ScaleY(15);
    TabOrder := 0;
    Checked := False;
   end;
 end;
end;
Аватара пользователя
R.i.m.s.k.y.

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение R.i.m.s.k.y. »

Johny777, FileExists использовать религия индусская запрещает?



Код:

Код: Выделить всё

If (not FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe'))) then 
  begin   
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
  ...
Аватара пользователя
nik1967

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение nik1967 »

R.i.m.s.k.y., чуток подправил Изображение



Код:

Код: Выделить всё

If FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe')) then 
  begin   
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
  ...

Давно Инно не занимался, и к стыду своему забыл, что есть функция "Файл существует" Изображение
Аватара пользователя
R.i.m.s.k.y.

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение R.i.m.s.k.y. »

nik1967, Johny777

ну это вам виднее, to not or not to be a not
Аватара пользователя
Devils Night

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение Devils Night »

Немного сложный вопрос, интересует вот что:

В сетап имеется

Код:

Код: Выделить всё

[Setup]
AppName=Имя программы
DefaultDirName={pf}\Папка программы
DefaultGroupName=Папка в меню пуск

и есть компоненты

Код:

Код: Выделить всё

[Components]
Name: A; Description: Программа 1
Name: B; Description: Программа 2

как сделать так, чтобы например выбираю компонент Программа 1, то при установке, то что в AppName, в DefaultDirName и в DefaultGroupName, название Имя программы, папка в PF Папка программы и папка в пуске Папка в меню пуск заменялось на Программа 1, если выбираю компонент Программа 2, то Имя программы, Папка программы и папка в пуск Папка в меню пуск заменялось на Программа 2, возможно ли такое?
Аватара пользователя
R.i.m.s.k.y.

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение R.i.m.s.k.y. »

Цитата R.i.m.s.k.y.:



MarkusEVO, если плохо знаешь инно зачем за фриарк взялся? пакуй стандартными средствами инно, он и жмет хорошо (выше отличные настройки сжатия) и поддерживает разбиение на диски

Я вот как с фриарком бороться не знаю, картинки всятавлять не умею, и прекрасно себя чуйствую!
Скрипты Inno Setup. Помощь и советы [часть 4]




Уважаемый, я как бы просто чайник в этом, но не совсем)

я разобрался в чем проблема...

проблема была что я забюыл указать директорию OutputDir=. в самом начале Изображение
Аватара пользователя
Johny777

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение Johny777 »

R.i.m.s.k.y., nik1967,

спасибо

вот так всё супер

проверил


читать дальше »






Код:

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
OutputDir=.
[Languages]
Name: Russian; MessagesFile: compiler:Languages\Russian.isl;
[Run]
Filename: {src}\Redist\DirectX10\DXSETUP.exe; Parameters: /silent; WorkingDir: {src}\Redist\DirectX10; StatusMsg: óñòàíîâêà äèðåêòà; Flags: skipifdoesntexist waituntilterminated; Check: MakeQuickLaunchIcon
[,Code]
var
QuickLaunchIcon: TCheckBox;
function MakeQuickLaunchIcon: Boolean;
begin
    Result:=QuickLaunchIcon.Checked;
end;
procedure InitializeWizard();
begin
If FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe')) then
begin
QuickLaunchIcon := TCheckBox.Create(WizardForm);
 with QuickLaunchIcon do
  begin
    Parent := WizardForm.SelectDirPage;
    Caption := 'Ñîçäàòü çíà÷îê â Ïàíåëè áûñòðîãî çàïóñêà';
    Left := ScaleX(0);
//    Left := WizardForm.DirEdit.Top + 100;
    Top := WizardForm.DirEdit.Top + 117;
    Width := ScaleX(300);
    Height := ScaleY(15);
    TabOrder := 0;
    Checked := False;
   end;
 end;
end;





дальше по аналогии сделаю но с учётом своих названий чекбоксов



Devils Night,

как вариант можно сделать авторан состоящий из одной страницы с двумя переключателями, который после себя запускает одну из 2-х из внешней папки или копирует из самого себя в tmp

у обеих программ сделать полуодинаковые

DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID") }_is1,InstallLocation|{pf}\program1}

DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID") }_is1,InstallLocation|{pf}\program2}

и одинаковые

AppId=p12

AppId=p12

AppName=program1,2 - тоже одинаковые, но скрыть их на странице приветствия например и заменить на свои наименования

а в секции одной [InstallDelete] вписать всё, что нужно удалть от другой и наоборот (ярлыки, файлы в (app) итд)



____________________________________________

скажите пожалуйста

если один файл относится к многим чекбоксам, то нужно писать так?

[Files]

.....; Check: 1 and 2 and 3

или так

.....; Check: 1 or 2 or 3
Аватара пользователя
Devils Night

Re: Скрипты Inno Setup. Помощь и советы [часть 4]

Сообщение Devils Night »

R.i.m.s.k.y., Cпасибо. Нашел ошибку. следовало удалить секцию [uninstalldelete]. Благодарствую.
Ответить

Вернуться в «Автоматическая установка приложений»