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

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

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

Сообщение novahudonoser »

http://clip2net.com/s/6DxkSU




хотелось вообще не видеть окон инсталятора, это возможно?



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

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

Сообщение saurn »

да, только месейдж при условии отсутствия ключа
Аватара пользователя
novahudonoser

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

Сообщение novahudonoser »

Цитата novahudonoser:



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





Пример




Код:

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

[Setup]
AppName=Update TimeCalculator
AppVerName=Update TimeCalculator
OutputDir=output\
OutputBaseFilename=Update_1.8
DefaultDirName={reg:HKLM\SOFTWARE\TimeCalculator,Path}
AllowNoIcons=yes
Uninstallable=no
Compression=lzma
SolidCompression=yes
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Files]
Source: "update_TimeCalculator.exe"; DestDir: "{app}"; CopyMode: alwaysoverwrite; Flags: recursesubdirs
Source: "help\TimeCalculator.chm"; DestDir: "{app}"; CopyMode: alwaysoverwrite; Flags: recursesubdirs
[Code]
const
    BM_CLICK = $00F5;
function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL;
    external 'ShowWindow@user32.dll stdcall';
function InitializeSetup(): Boolean;
begin
    Result := RegValueExists(HKLM, 'SOFTWARE\TimeCalculator', 'path');
    if not Result then MsgBoxEx(Application.Handle, 'Программа TimeCalculator не инициализирована!'+ Chr(10)+'Запустите программу и повторите установку обновления.', 'Установка обновления отменена', $10, 0, 0);
end;
procedure CurPageChanged(CurPageID: Integer);
begin
    ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), SW_HIDE); //Закоментировать, если нужно отображать страницу установки.
    PostMessage(WizardForm.NextButton.Handle, BM_CLICK, 0, 0);
end;








P. S.

В шапке темы есть пример.
Аватара пользователя
saurn

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

Сообщение saurn »

novahudonoser, так вы DisableReadyPage=yes из секции Setup уберите
Аватара пользователя
nik1967

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

Сообщение nik1967 »

Цитата novahudonoser:



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






Код:

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

[Setup]
DirExistsWarning=no
Аватара пользователя
novahudonoser

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

Сообщение novahudonoser »

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

вот основная часть скрипта которая связана с языком



Код:

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

[Tasks]
Name: icons; Description: {cm:AdditionalIcons}; Components: UISO\instal;
Name: icons\desktop; Description: {cm:CreateDesktopIcon}; Components: UISO\instal;
Name: icons\group; Description: {cm:CreateGroupIcon}; Components: UISO\instal;
Name: icons\quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; OnlyBelowVersion: 0,6.1; Components: UISO\instal;
Name: icons\taskbaricon; Description: {cm:CreateQuickLaunchIcon}; MinVersion: 0.0,6.1.7600; Components: UISO\instal; Flags: unchecked;
Name: associate; Description: Ассоциировать .iso файл с UltraISO; MinVersion: 0.0,5.0; Components: UISO\instal;
Name: isodrive; Description: Установить ISO CD/DVD эмулятор (ISODrive); MinVersion: 0.0,5.0; Components: UISO\instal;
[Components]
Name: UltraISO; Description: {#MyAppName}; Flags: fixed; Types: full;
Name: UISO\instal; Description: Установить {#MyAppName}; Flags: exclusive
Name: UISO\Portable; Description: Распаковать {#MyAppName}; Flags: exclusive
Name: InterfaceLang; Description: {cm:InterfaceLang}; Flags: fixed; Types: full;
Name: InterfaceLang\ru; Description: Русский; Flags: exclusive;
Name: InterfaceLang\en; Description: Английский; Flags: exclusive;
Name: InterfaceLang\ua; Description: Украинский; Flags: exclusive;
[Registry]
Root: HKCU; Subkey: "Software\EasyBoot Systems\UltraISO\5.0"; ValueName: Language; ValueType: String; ValueData: 1033; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\en"; 
Root: HKCU; Subkey: "Software\EasyBoot Systems\UltraISO\5.0"; ValueName: Language; ValueType: String; ValueData: 1049; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ru"; 
Root: HKCU; Subkey: "Software\EasyBoot Systems\UltraISO\5.0"; ValueName: Language; ValueType: String; ValueData: 1058; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ua"; 
Root: HKCR; SubKey: UltraISO; ValueType: String; ValueData: "UltraISO File"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\en"; 
Root: HKCR; SubKey: UltraISO; ValueType: String; ValueData: "Файл UltraISO"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ru"; 
Root: HKCR; SubKey: UltraISO; ValueType: String; ValueData: "UltraISO файл"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ua"; 
Root: HKCR; SubKey: UltraISO\shell\open; ValueType: String; ValueData: "Open with &UltraISO"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\en"; 
Root: HKCR; SubKey: UltraISO\shell\open; ValueType: String; ValueData: "Открыть используя &UltraISO"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ru"; 
Root: HKCR; SubKey: UltraISO\shell\open; ValueType: String; ValueData: "Відкрити з &UltraISO"; Tasks: associate; MinVersion: 0.0,5.0; Flags: uninsdeletekey; Components: "UISO\instal InterfaceLang\ua"; 
[Ini]
Filename: {app}\uikey.ini; Section: UltraISO; Key: UserName; String: 'Xabib'; Components: UISO\Portable; Flags: UninsDeleteEntry; 
Filename: {app}\uikey.ini; Section: UltraISO; Key: Registration; String: '7CAA-64E2-CCC5-5885'; Components: UISO\Portable; Flags: UninsDeleteEntry; 
Filename: {app}\uikey.ini; Section: UltraISO; Key: Language; String: 'Russian'; Components: "UISO\Portable InterfaceLang\ru"; Flags: UninsDeleteEntry; 
Filename: {app}\uikey.ini; Section: UltraISO; Key: Language; string: 'English'; Components: "UISO\Portable InterfaceLang\en"; Flags: UninsDeleteEntry; 
Filename: {app}\uikey.ini; Section: UltraISO; Key: Language; string: 'Ukrainian'; Components: "UISO\Portable InterfaceLang\ua"; Flags: UninsDeleteEntry;
Аватара пользователя
saurn

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

Сообщение saurn »

Цитата habib2302:



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





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




Код:

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

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
AppId=by Xabib
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Components: comps1;
Source: C:\Windows\Fonts\*; DestDir: {app}; Flags: external; Components: comps2;
[Components]
Name: comps1; Description: Компонент 1; Types: full;
Name: comps2; Description: Компонент 2; Types: full;
[code]
function UninsPreInstall(): Boolean;
var
    Buff, Name: String;
    i: Integer;
begin
    Result := IsComponentSelected('comps1');
    if Result then Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
    if not Result then Result := not FileExists(RemoveQuotes(Buff));
    if not Result then
    begin
        RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'DisplayName', Name );
        WizardForm.StatusLabel.Caption := 'Удаление' + #32 + Name;
        Exec(RemoveQuotes(Buff), '/VERYSILENT', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i);
    end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
    case CurStep of
        ssInstall: UninsPreInstall();
    end;
end;
Аватара пользователя
novahudonoser

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

Сообщение novahudonoser »

Как обьединить в одну страницу
Ответить

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