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

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

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

Сообщение Nordek »

Цитата Антон_Мураткин@vk:



Подскажите скрипт на удаление игры программы и т.п.
Скрипты Inno Setup. Помощь и советы [часть 6]




"Вы чё ребята, издеваетесь? Тему не судьба почитать?"



Антон_Мураткин@vk, Смотри
Скрипты Inno Setup. Помощь и советы [часть 6]
или не катит!?



От некоторых проблем избавит
Скрипты Inno Setup. Помощь и советы [часть 6]
инно.
Аватара пользователя
saurn

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

Сообщение saurn »

Nordek, Это не то. Мне надо что бы просто удалялась папка с игрой прогой или файлы в папке



И у меня стоит раширенная версия уже.



А читать тему много букв уж слишком да и подходящего видать и нет
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Цитата Антон_Мураткин@vk:



Мне надо что бы просто удалялась папка с игрой прогой или файлы в папке
Скрипты Inno Setup. Помощь и советы [часть 6]






Самый простой способ и без заморочек, использовать секцию [UninstallDelete] - Удаление при деинсталляции:



Код:

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

[UninstallDelete]
Name: {app}; Type: filesandordirs

В Type указываешь то что тебе необходимо удалить:



Код:

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

filesandordirs - Удаляет "Файлы и/или каталоги".
files          - Удаляет "Файлы" в каталоге
dirifempty     - Удаляет "Каталог в том случае, если он пустой"

Если же нужно удалить перед установкой, то используй секцию [InstallDelete].
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Маленький вопросик....

На странице выбора директории я добавил место для галки создания резервной копии...


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




Код:

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

///////////////////Добавляем кнопки - Резервная копия////////////////////////////
begin
  RedesignWizardForm;
MyTask:=TCheckBox.Create(WizardForm);
with MyTask do
begin
Parent:=WizardForm.SelectDirPage;
Caption:='Я хочу создать резервную копию';
Left:=ScaleX(0);
Top:=ScaleY(180);
Width:=ScaleX(400);
Height:=ScaleY(15);
TabOrder:=0;
Checked:=False;
///////////////////Добавляем кнопки - Резервная копия КОНЕЦ////////////////////////////







Как сделать так, чтобы при повторном запуске установщика, если уже была произведена установка ранее, эта секция не отображалась?

...
Аватара пользователя
Nordek

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

Сообщение Nordek »

Подскажите пожалуйста, как изменить в инсталляторе порядок страниц мастера установки. Например: Выбор папки в меню пуск стоял перед перед выбором пути установки.
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Цитата Optitron:



Например: Выбор папки в меню пуск стоял перед перед выбором пути установки.
Скрипты Inno Setup. Помощь и советы [часть 6]






Код:

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

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: default; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
[Files]
Source:compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
[Messages]
russian.WizardSelectProgramGroup=Выбор папки установки
default.WizardSelectProgramGroup=Select Destination Location
russian.SelectStartMenuFolderDesc=В какую папку вы хотите установить [name]?
default.SelectStartMenuFolderDesc=Where should [name] be installed?
russian.WizardSelectDir=Выберите папку в меню «Пуск»
default.WizardSelectDir=Select Start Menu Folder
russian.SelectDirDesc=Где программа установки должна создать ярлыки?
default.SelectDirDesc=Where should Setup place the program's shortcuts?
[Code]
procedure InitializeWizard();
begin
WizardForm.SelectDirBitmapImage.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.SelectDirLabel.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.SelectDirBrowseLabel.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.DirEdit.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.DirBrowseButton.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.DiskSpaceLabel.Parent := WizardForm.SelectProgramGroupPage;
WizardForm.SelectGroupBitmapImage.Parent := WizardForm.SelectDirPage;
WizardForm.SelectStartMenuFolderLabel.Parent := WizardForm.SelectDirPage;
WizardForm.SelectStartMenuFolderBrowseLabel.Parent := WizardForm.SelectDirPage;
WizardForm.GroupEdit.Parent := WizardForm.SelectDirPage;
WizardForm.GroupBrowseButton.Parent := WizardForm.SelectDirPage;
WizardForm.NoIconsCheck.Parent := WizardForm.SelectDirPage;
end;

Меняй то что находится в InnerNotebook, я к тому что трогать MainPanel не нужно.

За перемещение в InnerNotebook отвечает Parent :=

А для изменения описаний те что находятся в MainPanel, достаточно переставить их местами в секции [Messages].
Аватара пользователя
Farser21

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

Сообщение Farser21 »

Цитата nik1967:



Антон_Мураткин@vk, а ты случайно в инсталл не пакуешь unins000.dat и (или) unins000.exe? Что то похоже на то.
Скрипты Inno Setup. Помощь и советы [часть 6]




Нет не покую его



Nordek, А куда лучше это вписывать? перед какой секцией
Аватара пользователя
Nordek

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

Сообщение Nordek »

Nordek, Благодарю за ответ!

Есть ещё вопрос, при наличии 5 exclusive компонентов каждый раз при запуске инсталлятора по умолчанию ставится рандомный компонент, можно как-нибудь это исправить? Чтобы по умолчанию всегда был 1 компонент из списка.
Аватара пользователя
nik1967

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

Сообщение nik1967 »

alexxxdar@vk,

Не за что))

Пардон за поздний ответ.

Если в секции [files] фигурируют папка audio, которая тебе нужна - // закомментируй эту строчку

Оставь только то, что было у тебя в секции

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




Если оформлять копирование через секцию [files], то если я не ошибаюсь, то ее нужно связывать как-то с секцией [tasks]

и в этом случае в секции [code] нужно закомментировать те задачи, которые выполняет [tasks].

Опять же - я могу и ошибаться, так как я далеко не профи.



Если удаляешь файлы через секцию [unistalldelete] то файлы прописываются именно в этой секции,

выглядит это как-то так

Type: files; Name: "{app}\папка_0\папка_1\папка_2\file_1.mp3";

Type: files; Name: "{app}\папка_0\папка_1\file_1.mp3";

Type: files; Name: "{app}\папка_0\file_1.mp3";

проверка на наличие пустых папок осуществляется в [code]

с помощью RemoveDir 

(то есть это даже не проверка, но удаляет папку, если она пустая и это иногда бывает необходимо)

(DelTree более "беспощадная")



procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);

begin

if CurUninstallStep = usPostUninstall then

begin

// RemoveDir удалит только, если папка пустая

// Порядок удаление определен ниже:

// Папка 2

RemoveDir(ExpandConstant('{app}\папка_0\папка_1\папка_2'));

// папка 1

RemoveDir(ExpandConstant('{app}\папка_0\папка_1\'));

// Главная папка (папка_0)

RemoveDir(ExpandConstant('{app}\папка_0\'));

end;

end;
Аватара пользователя
Mat_y

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

Сообщение Mat_y »

Цитата Антон_Мураткин@vk:



А куда лучше это вписывать?
Скрипты Inno Setup. Помощь и советы [часть 6]





Вот примеры:




С удалением перед установкой



Код:

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

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: default; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
[Files]
Source:compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
[InstallDelete]
Name: {app}; Type: filesandordirs

С удалением при деинсталляции



Код:

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

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: default; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
[Files]
Source:compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
[UninstallDelete]
Name: {app}; Type: filesandordirs

С удалением удалением перед установкой и удалением при деинсталляции



Код:

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

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Languages]
Name: default; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Icons]
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
[Files]
Source:compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
[InstallDelete]
Name: {app}; Type: filesandordirs
[UninstallDelete]
Name: {app}; Type: filesandordirs





Удаление при деинсталляции (Типы):






Код:

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

[UninstallDelete]
Name: {app}; Type: filesandordirs



Код:

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

[UninstallDelete]
Name: {app}; Type: files



Код:

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

[UninstallDelete]
Name: {app}; Type: dirifempty





Удаление перед установкой (Типы):






Код:

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

[InstallDelete]
Name: {app}; Type: filesandordirs



Код:

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

[InstallDelete]
Name: {app}; Type: files



Код:

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

[InstallDelete]
Name: {app}; Type: dirifempty
Ответить

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