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

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

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

Сообщение Nordek »

Цитата AlekseyPopovv:



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




Тогда без скрипта здесь ничего не решить... И еще вопрос возник: ваши строки при удалении удаляются?
Аватара пользователя
ispolin

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

Сообщение ispolin »

Nordek, не то...

я могу конечно жёстко прописать через скрипт

[Registry]

Root: HKLM; SubKey: SOFTWARE\1C\1Cv7; ValueType: string; ValueName: RegOrg; ValueData: Comp

Root: HKLM; SubKey: SOFTWARE\1C\1Cv7; ValueType: string; ValueName: RegUser; ValueData: User



однако хочется предоставить конечному пользователю самому решать, что туда занести т.е нужно окно для ввода данных
Аватара пользователя
saurn

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

Сообщение saurn »

Цитата Kashtan007:



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




Kashtan007,


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






Код:

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

[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test
[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...
[Tasks]
Name: deleteoldmods; Description: {cm:DeleteOldMods}
Name: deleteoldmods\createbackupoldmods; Description: {cm:CreateBackupOldMods}
[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Tasks: deleteoldmods\createbackupoldmods
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist
[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods
[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods\createbackupoldmods
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden
Аватара пользователя
ispolin

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

Сообщение ispolin »

Shkutu,

Изображение



saurn, окошко вообще не появилось для ввода данных
Аватара пользователя
saurn

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

Сообщение saurn »

ispolin, переменная UserDataPage не определена. Добавьте в начало секции Code



Код:

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

var
    UserDataPage: TInputQueryWizardPage;
Аватара пользователя
ispolin

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

Сообщение ispolin »

Цитата Kashtan007:



Возможно ли переместить чекбоксы на страницу каталога?
Скрипты Inno Setup. Помощь и советы [часть 7]




Kashtan007, можно. Только каким макаром данные чекбоксы относятся по смыслу к странице выбора директории? Им самое место в задачах.


Цитата Kashtan007:



Единственная проблема, что после удаление файл paths из папки OriginalFiles не возвращается на свое место.
Скрипты Inno Setup. Помощь и советы [часть 7]




У меня возвращался. Что в Debug Output при копировании файла из OriginalFiles?
Аватара пользователя
saurn

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

Сообщение saurn »

Цитата El Sanchez:



Только каким макаром данные чекбоксы относятся по смыслу к странице выбора директории? Им самое место в задачах.
Скрипты Inno Setup. Помощь и советы [часть 7]




El Sanchez, на странице Components у меня модификации, на странице Tasks у меня модификации понижающие пинг. Компонентов больше 50 на каждой из страниц, и если там будет удаление и бекап, то пользователи просто не заметят их среди такого большого количества компонентов. Поэтому самый лучший вариант перенести чекбоксы на страницу каталога.




Цитата El Sanchez:



У меня возвращался. Что в Debug Output при копировании файла из OriginalFiles?
Скрипты Inno Setup. Помощь и советы [часть 7]




Немного не понял вопроса.
Аватара пользователя
Nordek

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

Сообщение Nordek »

Цитата Kashtan007:



Поэтому самый лучший вариант перенести чекбоксы на страницу каталога.
Скрипты Inno Setup. Помощь и советы [часть 7]




Kashtan007, хозяин - барин.


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






Код:

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

[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test
[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl
[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...
[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Check: IsOldMods('CreateBackupOldMods')
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist
[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')
[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('CreateBackupOldMods')
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden
[code]
var
    OldModsListBox: TNewCheckListBox;
///////////////////////////////////////////////
function IsOldMods(const Msg: String): Boolean;
begin
    with OldModsListBox do
        Result := Checked[Items.IndexOf(CustomMessage(Msg))]
end;
//////////////////////////////
procedure CreateSelectDirPage;
var
    rt: TRect;
begin
    OldModsListBox := TNewCheckListBox.Create(WizardForm);
    with OldModsListBox do
    begin
        Parent := WizardForm.SelectDirPage;
        Top := WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + ScaleY(10);
        Width := Parent.ClientWidth;
        BorderStyle := bsNone;
        ParentColor := True;
        ShowLines := False;
        WantTabs := True;
        AddCheckBox(CustomMessage('DeleteOldMods'), '', 0, True, True, True, False, nil);
        AddCheckBox(CustomMessage('CreateBackupOldMods'), '', 1, True, True, False, True, nil);
        rt := ItemRect(ItemCount-1);
        Height := rt.Bottom;
    end;
end;
/////////////////////////////
procedure InitializeWizard();
begin
    CreateSelectDirPage;
end;
Аватара пользователя
ispolin

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

Сообщение ispolin »

ой осталась самая малость

что и где прописать, чтобы при деинсталяции удалялись добавленные ключи из реестра?
Ответить

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