Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

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

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

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

.

Последний раз редактировалось novahudonoser, 20-01-2014 в 18:22.


Отправлено: 17:56, 20-01-2014 | #1911



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 18:33, 20-01-2014 | #1912


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата novahudonoser:
да, только месейдж при условии отсутствия ключа »
Пример
Код: Выделить весь код
[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.
В шапке темы есть пример.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:44, 20-01-2014 | #1913


Новый участник


Сообщения: 28
Благодарности: 0

Профиль | Отправить PM | Цитировать


беда... http://clip2net.com/s/6DzikK
всё из-за появляющегося диалога http://clip2net.com/s/6Dzm7J
если ответить нет - то инсталятор не выгружается
можно сделать чтобы вопросов вообще не возникало?

Отправлено: 18:56, 20-01-2014 | #1914


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата novahudonoser:
можно сделать чтобы вопросов вообще не возникало? »
Код: Выделить весь код
[Setup]
DirExistsWarning=no
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:05, 20-01-2014 | #1915


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


доброе время суток. мне когда давали скрипт на предварительное удаление приложения. как сделать, чтобы скрипт срабатывал не сразу после запуска инсталлятора, а перед установкой при выборе определенного компонента.есть еще одна проблема.я делаю репак 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;

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 23-01-2014 в 00:12.


Отправлено: 22:52, 22-01-2014 | #1916


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата habib2302:
чтобы скрипт срабатывал не сразу после запуска инсталлятора, а перед установкой при выборе определенного компонента »
читать дальше »
Код: Выделить весь код
[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;
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:44, 23-01-2014 | #1917


Аватара для Ivan_009

Ветеран


Сообщения: 608
Благодарности: 58

Профиль | Цитировать


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

Последний раз редактировалось Ivan_009, 26-03-2014 в 23:51.


Отправлено: 18:17, 23-01-2014 | #1918


Аватара для nik1967

Старожил


Сообщения: 440
Благодарности: 251

Профиль | Сайт | Отправить PM | Цитировать


Ivan_009, использовать вместо Tasks - Components (то есть в секции Components разместить нужные задачи). Ну или сделать родителем для элементов Components - SelectTasksPage.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:35, 23-01-2014 | #1919


Аватара для Ivan_009

Ветеран


Сообщения: 608
Благодарности: 58

Профиль | Цитировать


Как через ботву наложить такую форму чтобы зеленые края потом были прозрачные

Последний раз редактировалось Ivan_009, 27-03-2014 в 00:01.


Отправлено: 20:56, 23-01-2014 | #1920



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход