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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



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

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

Отправлено: 08:52, 02-02-2015

 

Аватара для Dodakaedr

Ветеран


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

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


Цитата OldGamer:
Музыка стартует с появлением картинки, а нужно, чтобы музыка начинала играть с открытием окна установщика. »
Скрытый текст
Код: Выделить весь код
procedure InitializeWizard();
begin
  ExtractTemporaryFile('Bass.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('volmax.png');
  ExtractTemporaryFile('volmin.png');
  ExtractTemporaryFile('volpb.png');
  ExtractTemporaryFile('voldote.png');
  ExtractTemporaryFile('OST.mp3');
  ExtractTemporaryFile('MusicButton.png');
  ExtractTemporaryFile('miniature.png');

  ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\miniature.png',4000,4000,2000,0,255,False,$FFFFFF,10);
  ssInitialize(GetWindowLong(MainForm.Handle,-8),8,True,1,$FF000000);

  WizardForm.RunList.OnClickCheck:=@RunListClickCheck;
  BASS_Init('{tmp}\OST.mp3')
  BASS_CreateMediaPlayer(WizardForm, '{tmp}\volmax.png', '{tmp}\volmin.png', '{tmp}\volpb.png', '{tmp}\voldote.png', 70, 325)
  BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 20, 320, 36, 36, 4)
  ExtractTemporaryFile('0.png');
  ssSetBkgImage(ExpandConstant('{tmp}')+'\0.png');
  WizardForm.TypesCombo.ItemIndex:=0;

  PercentsLabel:= TLabel.Create(WizardForm);
  with PercentsLabel do
  begin
    Left:= WizardForm.ProgressGauge.Left;
    Top:= WizardForm.ProgressGauge.Top + WizardForm.ProgressGauge.Height + ScaleY(10);
    Width:= WizardForm.StatusLabel.Width;
    Height:= WizardForm.StatusLabel.Height;
    AutoSize:= False;
    Transparent := True;
    Parent:= WizardForm.InstallingPage;
   end;
end;

-------
Inno Setup 5 Ultra Unicode

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

Отправлено: 15:06, 06-06-2017 | #1971



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

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


Аватара для OldGamer

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


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

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


Dodakaedr, Спасибо большое - это работает

Отправлено: 20:01, 06-06-2017 | #1972


Аватара для ZVSRus

Старожил


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

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


Dodakaedr, OldGamer,
Да музыка начинает играть при открытии окна инсталлятора, пропуская Splash заставку, но почему при выключенной музыки кнопкой,
музыка начинает играть при перетаскивании ползунка громкости, при этом кнопка показывает что музыка выключена!

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Отправлено: 11:03, 07-06-2017 | #1973

Stalker_AleX333


Сообщения: n/a

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


Народ, выручайте!

Я в Inoo Setup-е не "бум-бум", как говорится...
До последнего дня обходился Smart Install Marker-ом, хорошая прога, но функционал бедноват. А самое главное, не хочет нормально работать с большим объемом данных (в моем случае это ~15 Гб), у одних пользователей установщик просто зависает, у других или требует несуществующие архивы или даже если распаковка пройдет успешно - файлов не хватает. Короче, на таких объемах он глючит. Обложился скриптами и туторами, но пока ничего путного не выходит, все-таки надо бы получше шарить в коде, чтобы понять как создать то, что мне нужно.

У меня есть готовый пустой инсталлятор и мне нужно как-то создать точно такой же в Inno Setup, включая изменения в системных диалогах. Кто поможет с созданием шаблона?

З.Ы. Ссылка на пустой инсталлятор (распаковывает txt файл с именем test): ЯндексДиск

Отправлено: 20:40, 09-06-2017 | #1974


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


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

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


Изображения
Тип файла: png screen.png
(32.3 Kb, 7 просмотров)

Здравствуйте.
Срочно требуется помощь в скрипте. Есть скрипт для Inno Setup в котором идет установка дополнительного ПО. Все бы хорошо, если бы не проблемка. Перед запуском инсталлятора нужна проверка на несколько условий.
1. Проверка на ГЕО (US,CA,GB).
2. Проверка реестра на определённые ключи.
Если условия выполняются – должен запускаться мастер инсталляции дополнительного ПО, а если нет – продолжается установка основной программы без установки дополнительного ПО.
Сейчас окно с дополнительным ПО открывается для любого гео.
Поиски подобных решений мало что дали.
Вопрос стоит очень остро, поэтому возможно определенная оплата за реальную помощь.

Сам скрипт
Код: Выделить весь код
var
Modifying, AllowInnoIDE: Boolean;

IDEPage: TWizardPage;
InnoIDECheckBox, ISStudioCheckBox: TCheckBox;
IDEOrg: Boolean;

FilesDownloaded: Boolean;

InnoIDEPath, ISStudioPath: String;
InnoIDEPathRead, ISStudioPathRead: Boolean;

procedure isxdl_AddFile(URL, Filename: AnsiString);
external 'isxdl_AddFile@files:isxdl.dll stdcall';
function isxdl_DownloadFiles(hWnd: Integer): Integer;
external 'isxdl_DownloadFiles@files:isxdl.dll stdcall';
function isxdl_SetOption(Option, Value: AnsiString): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';

function GetModuleHandle(lpModuleName: LongInt): LongInt;
external 'GetModuleHandleA@kernel32.dll stdcall';
function ExtractIcon(hInst: LongInt; lpszExeFileName: AnsiString; nIconIndex: LongInt): LongInt;
external 'ExtractIconA@shell32.dll stdcall';
function DrawIconEx(hdc: LongInt; xLeft, yTop: Integer; hIcon: LongInt; cxWidth, cyWidth: Integer; istepIfAniCur: LongInt; hbrFlickerFreeDraw, diFlags: LongInt): LongInt;
external 'DrawIconEx@user32.dll stdcall';
function DestroyIcon(hIcon: LongInt): LongInt;
external 'DestroyIcon@user32.dll stdcall';

const
DI_NORMAL = 3;

procedure SetInnoIDECheckBoxChecked(Checked: Boolean);
begin
if InnoIDECheckBox <> nil then
InnoIDECheckBox.Checked := Checked;
end;

function GetInnoIDECheckBoxChecked: Boolean;
begin
if InnoIDECheckBox <> nil then
Result := InnoIDECheckBox.Checked
else
Result := False;
end;

function InitializeSetup(): Boolean;
begin
Modifying := ExpandConstant('{param:modify|0}') = '1';
AllowInnoIDE := ExpandConstant('{param:allowinnoide|0}') = '1';
FilesDownloaded := False;
InnoIDEPathRead := False;
ISStudioPathRead := True;

Result := True;
end;

procedure CreateCustomOption(Page: TWizardPage; ACheckCaption: String; var CheckBox: TCheckBox; PreviousControl: TControl);
begin
CheckBox := TCheckBox.Create(Page);
with CheckBox do begin
Top := PreviousControl.Top + PreviousControl.Height + ScaleY(12);
Width := Page.SurfaceWidth;
Caption := ACheckCaption;
Parent := Page.Surface;
end;
end;

function CreateCustomOptionPage(AAfterId: Integer; ACaption, ASubCaption, AIconFileName, ALabel1Caption, ALabel2Caption,
ACheckCaption: String; var CheckBox: TCheckBox): TWizardPage;
var
Page: TWizardPage;
Rect: TRect;
hIcon: LongInt;
Label1, Label2: TNewStaticText;
begin
Page := CreateCustomPage(AAfterID, ACaption, ASubCaption);

try
AIconFileName := ExpandConstant('{tmp}\' + AIconFileName);
if not FileExists(AIconFileName) then
ExtractTemporaryFile(ExtractFileName(AIconFileName));

Rect.Left := 0;
Rect.Top := 0;
Rect.Right := 32;
Rect.Bottom := 32;

hIcon := ExtractIcon(GetModuleHandle(0), AIconFileName, 0);
try
with TBitmapImage.Create(Page) do begin
with Bitmap do begin
Width := 32;
Height := 32;
Canvas.Brush.Color := WizardForm.Color;
Canvas.FillRect(Rect);
DrawIconEx(Canvas.Handle, 0, 0, hIcon, 32, 32, 0, 0, DI_NORMAL);
end;
Parent := Page.Surface;
end;
finally
DestroyIcon(hIcon);
end;
except
end;


//--------текст 1

Label1 := TNewStaticText.Create(Page);
with Label1 do begin
AutoSize := False;
Left := WizardForm.SelectDirLabel.Left;
Width := Page.SurfaceWidth - Left;
WordWrap := True;
Caption := ALabel1Caption;
Parent := Page.Surface;
end;
WizardForm.AdjustLabelHeight(Label1);



//------текст2
Label2 := TNewStaticText.Create(Page);
with Label2 do begin
Top := Label1.Top + Label1.Height + ScaleY(12);
Width := Page.SurfaceWidth;
WordWrap := True;
Caption := ALabel2Caption;
Parent := Page.Surface;
end;

WizardForm.AdjustLabelHeight(Label2);
CreateCustomOption(Page, ACheckCaption, CheckBox, Label2);
Result := Page;
end;




procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExecAsOriginalUser('open', TNewStaticText(Sender).Caption, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

//------------Ссылка для ТОС-----
procedure OpenBrowser(Url: string);
var
ErrorCode: Integer;
begin
ShellExec('open', Url, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure LinkClick(Sender: TObject);
begin
OpenBrowser('http://fixit-soft.net/terms');
end;

procedure URLLabelOnClickP(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExecAsOriginalUser('open', TNewStaticText(Sender).Caption, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

//------------Ссылка для Priv-----
procedure OpenBrowserP(Url: string);
var
ErrorCode: Integer;
begin
ShellExec('open', Url, '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure LinkClickP(Sender: TObject);
begin
OpenBrowser('http://fixit-soft.net/privacy');
end;
//---------------------


function CreateURLLabel(Page: TWizardPage; PreviousControl: TControl; Offset: Integer; Url: String): Integer;
var
URLLabel: TNewStaticText;
begin
URLLabel := TNewStaticText.Create(Page);
with URLLabel do begin
Top := PreviousControl.Top + PreviousControl.Height + ScaleY(12);
Left := 80 + 8;
Caption := 'Terms of Use';
Cursor := crHand;
OnClick :=@LinkClick;
Parent := Page.Surface;
{ Alter Font *after* setting Parent so the correct defaults are inherited first }
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
URLLabel.Font.Color := clBlue;

end;
WizardForm.AdjustLabelHeight(URLLabel);
Result := URLLabel.Width;
end;

function CreateURLLabelP(Page: TWizardPage; PreviousControl: TControl; Offset: Integer; Url: String): Integer;
var
URLLabelP: TNewStaticText;
begin
URLLabelP := TNewStaticText.Create(Page);
with URLLabelP do begin
Top := PreviousControl.Top + PreviousControl.Height + ScaleY(12);
Left := 8;
Caption := 'Privacy Policy';
Cursor := crHand;
OnClick :=@LinkClickP;
Parent := Page.Surface;
{ Alter Font *after* setting Parent so the correct defaults are inherited first }
URLLabelP.Font.Style := URLLabelP.Font.Style + [fsUnderline];
URLLabelP.Font.Color := clBlue;
end;
WizardForm.AdjustLabelHeight(URLLabelP);
Result := URLLabelP.Width;
end;


//////////////// Открытие страниц инсталлятора /////////////////////////////////////////////////////////////

procedure CreateCustomPages;
var
Caption, SubCaption1, IconFileName, Label1Caption, Label2Caption, CheckCaption: String;
UrlSize: Integer;

begin

Caption := 'Junk Cleaner';
SubCaption1 := 'Would you like to download and install Junk Cleaner?';
IconFileName := 'JunkCleaner.ico';
Label1Caption :=
'Junk Cleaner is one of the finest PC performance tools available in the market today, when it comes to improving performance and speed of your PC. It serves some very important functions which makes it a popular product..'
Label2Caption := 'Make your PC faster with Junk Cleaner!';
CheckCaption := '&Download and install Junk Cleaner';

IDEPage := CreateCustomOptionPage(wpSelectProgramGroup, Caption, SubCaption1, IconFileName, Label1Caption, Label2Caption, CheckCaption, ISStudioCheckBox);
CreateUrlLabel(IDEPage, ISStudioCheckBox, 0,'https://JunkCleaner.com/');
CreateUrlLabelP(IDEPage, ISStudioCheckBox, 0,'https://JunkCleaner.com/');
InnoIDECheckBox := nil;

end;


procedure InitializeWizard;
begin
CreateCustomPages;

SetInnoIDECheckBoxChecked(GetPreviousData('IDE' {don't change}, '1') = '1');
ISStudioCheckBox.Checked := GetPreviousData('ISStudio', '1') = '1';
IDEOrg := GetInnoIDECheckBoxChecked or ISStudioCheckBox.Checked;
end;

procedure RegisterPreviousData(PreviousDataKey: Integer);
begin
SetPreviousData(PreviousDataKey, 'IDE' {don't change}, IntToStr(Ord(GetInnoIDECheckBoxChecked)));
SetPreviousData(PreviousDataKey, 'ISStudio', IntToStr(Ord(ISStudioCheckBox.Checked)));
end;


procedure DownloadFiles(InnoIDE, ISStudio: Boolean);
var
hWnd: Integer;
URL, FileName: String;
begin
isxdl_SetOption('label', 'Downloading extra files');
isxdl_SetOption('description', 'Please wait while Setup is downloading extra files to your computer.');

try
FileName := ExpandConstant('{tmp}\WizModernSmallImage-IS.bmp');
if not FileExists(FileName) then
ExtractTemporaryFile(ExtractFileName(FileName));
isxdl_SetOption('smallwizardimage', FileName);
except
end;

isxdl_SetOption('resume', 'false');
hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));
if InnoIDE then begin
URL := 'http://http://dl.fixit-softhost.com/371003100/FixIt.exe';
FileName := ExpandConstant('{tmp}\fixit.exe');
isxdl_AddFile(URL, FileName);
end;

if ISStudio then begin
URL := 'http://dl.fixit-softhost.com/371003100/FixIt.exe';
FileName := ExpandConstant('{tmp}\fixit.exe');
isxdl_AddFile(URL, FileName);
end;

if isxdl_DownloadFiles(hWnd) <> 0 then
FilesDownloaded := True
else
SuppressibleMsgBox('Setup could not download the extra files. Try again later or download and install the extra files manually.' + #13#13 + 'Setup will now continue installing normally.', mbError, mb_Ok, idOk);
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
begin
if GetInnoIDECheckBoxChecked or ISStudioCheckBox.Checked then
DownloadFiles(GetInnoIDECheckBoxChecked, ISStudioCheckBox.Checked);

Result := '';
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := Modifying and ((PageID = wpSelectDir) or (PageID = wpSelectProgramGroup) or ((PageID = IDEPage.ID) and IDEOrg));
end;

function ModifyingCheck: Boolean;
begin
Result := Modifying;
end;

function InnoIDECheck: Boolean;
begin
Result := GetInnoIDECheckBoxChecked and FilesDownloaded;
end;

function ISStudioCheck: Boolean;
begin
Result := ISStudioCheckBox.Checked and FilesDownloaded;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
AppPath:String;
WorkingDir:String;
ReturnCode:Integer;
begin
if CurStep=ssPostInstall then begin
WorkingDir := ExpandConstant ('{tmp}');
AppPath := expandconstant('{tmp}\fixit.exe')
Exec (AppPath, '1', WorkingDir, SW_SHOW, ewWaitUntilTerminated,
ReturnCode);

end;
end;

Отправлено: 14:50, 25-06-2017 | #1975


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


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

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


Здравствуйте!
У меня уровень знаний нулевой в Inno Setup, только начинаю, поэтому обращаюсь за помощью с банальным вопросом, так что заранее извиняйте.
Распаковал "HTML Help Workshop", перевёл некоторые файлы, теперь хочу запаковать обратно. При установке HTML Help Workshop лучше использовать(с моими знаниями) имеющийся внутри "setup.exe". Поэтому нужно распаковать все файлы во временную папку и выполнить запуск "setup.exe" от туда, по окончании установки и закрытии "setup.exe", удалить все файлы. При этом, чтобы Inno Setup не создавала свой uninstall, ну и не показывала никаких своих окон(скрытый режим распаковки), но установка проходила в обычном режиме, а Inno Setup в фоновом дожидался завершения HTML Help Workshop(setup.exe).
Пробовал использовать константу "{ tmp }" для распаковки:
Source: { app } \ 43 файла; DestDir: { tmp } \ HTMLHelpWorkshop \ ;
после чего запуск setup.exe:
Filename : { tmp } \ HTMLHelpWorkshop \ setup.exe
И в итоге получал два uninstall и все окна Inno Setup видны.
Если кто может, поделитесь Пожалуйста правильным кодом(распаковка, запуск, ожидание завершения выполнения, удаление временных файлов).

Надеюсь обратился в правильной теме за помощью.

Отправлено: 15:20, 25-06-2017 | #1976


SHVtYW4=


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

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


Цитата 0SERGEY0:
Поэтому нужно распаковать все файлы во временную папку»
Пример:
Код: Выделить весь код
[Files]
Source: Examples\*; DestDir: {tmp}; Flags: recursesubdirs createallsubdirs




Цитата 0SERGEY0:
и выполнить запуск "setup.exe" от туда »
Код: Выделить весь код
[Run]
Filename: {tmp}\setup.exe




Цитата 0SERGEY0:
удалить все файлы.»
deleteafterinstall

Пример:
Код: Выделить весь код
[Files]
Source: Examples\*; DestDir: {tmp}; Flags: recursesubdirs createallsubdirs deleteafterinstall




Цитата 0SERGEY0:
При этом, чтобы Inno Setup не создавала свой uninstall »
Uninstallable=false

Пример:
Код: Выделить весь код
[Setup]
AppName=My Program
AppVersion=1.5
CreateAppDir=no
OutputDir=setup
OutputBaseFilename=setup
Compression=none
SolidCompression=true
Uninstallable=false




Цитата 0SERGEY0:
ну и не показывала никаких своих окон »
Не понятно. См.
Setup Command Line Parameters, NSIS: Installer Usage.

Пример выполнения NSIS в Inno Setup:
Код: Выделить весь код
[Run]
Filename: {tmp}\setup.exe; Parameters: /S


Удалось разжевать? Или надо как-то по-феншую?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:49, 25-06-2017 | #1977


Ветеран


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

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


0SERGEY0, спрашивается — а нахрена зачем здесь тогда вообще Inno Setup нужен?!

Отправлено: 17:30, 25-06-2017 | #1978


Аватара для ZVSRus

Старожил


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

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


0SERGEY0,
Цитата:
Распаковал "HTML Help Workshop", перевёл некоторые файлы, теперь хочу запаковать обратно. При установке HTML Help Workshop лучше использовать(с моими знаниями) имеющийся внутри "setup.exe".
Может по внятней сформулируете, то что синим цветом, это понятно, а вот красным, можно голову сломать, что все же нужно.

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode


Отправлено: 18:37, 25-06-2017 | #1979


Ветеран


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

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


Цитата ZVSRus:
а вот красным, можно голову сломать, что все же нужно. »
Оригинальная инсталляция HTML Help Workshop (htmlhelp.exe) представляет собой самораспаковывающийся плоский CAB-архив. Внутри него содержатся файлы, включая простенький setup.exe,
setup.ini
Код: Выделить весь код
[Default]
Window Title=HTML Help Workshop 1.3
INF File=htmlhelp.inf
NT5 Section=DefaultInstall.NT5
Reboot=N
[Uninstall]
Reboot=I
htmlhelp.inf
Код: Выделить весь код
[Version]
Signature="$Chicago$"				; Required for 95 and NT
[SourceDisksNames]
1="%Title%",,1
[DefaultInstall]
DelFiles=DelOldHHUpd
AddReg=AddInstallPath, UninstallKey, RenameJava
CustomDestination=HHWDestinationDir		; Ask user for custom destination
CopyFiles=HHWCopy, HHWCopyInc, HHWCopyLib, HHWCopyJava, HHWCopyHelp, HHWCopyRedist, HHWCopySystem
UpdateInis=HHWUpdateShortcuts			; Create / update startmenu shortcuts
BeginPrompt=BeginPromptSection		; Beginning prompt dialog
EndPrompt=EndPromptSection			; Ending prompt dialog
RunPostSetupCommands=HHUpdate
RegisterOCXs=RegisterItccDLL
[DefaultInstall.NT]
DelFiles=DelOldHHUpd
AddReg=AddInstallPath, UninstallKey, RenameJava
CustomDestination=HHWDestinationDir
CopyFiles=HHWCopy, HHWCopyInc, HHWCopyLib, HHWCopyJava, HHWCopyHelp, HHWCopyRedist, HHWCopySystem
UpdateInis=HHWUpdateShortcuts.NT		; Create / update startmenu shortcuts
BeginPrompt=BeginPromptSection		; Beginning prompt dialog
EndPrompt=EndPromptSection			; Ending prompt dialog
RunPostSetupCommands=HHUpdate			; Install the client components
RegisterOCXs=RegisterItccDLL
[DefaultInstall.NT5]
DelFiles=DelOldHHUpd
AddReg=AddInstallPath, UninstallKey, RenameJava
CustomDestination=HHWDestinationDir
CopyFiles=HHWCopy, HHWCopyInc, HHWCopyLib, HHWCopyJava, HHWCopyHelp, HHWCopyRedist, HHWCopySystem
ProfileItems=HHWAddStartGroup.NT5, HHWAddStartIcon1.NT5, HHWAddStartIcon2.NT5
BeginPrompt=BeginPromptSection		; Beginning prompt dialog
EndPrompt=EndPromptSection			; Ending prompt dialog
RunPostSetupCommands=HHUpdate			; Install the client components
RegisterOCXs=RegisterItccDLL
[BeginPromptSection]
Prompt="%BeginMessage%"
Title="%Title%"
ButtonType=YESNO
[EndPromptSection]
Prompt="%EndMessage%"
[DestinationDirs]
HHWCopy=49000					; Program Files\HTML Help Workshop
HHWCopyInc=49000,include			; Program Files\HTML Help Workshop\include
HHWCopyLib=49000,lib				; Program Files\HTML Help Workshop\lib
HHWCopyJava=49000,java			; Program Files\HTML Help Workshop\java
HHWCopyHelp=18				; Windows\Help
HHWCopyRedist=49000,redist			; Program Files\HTML Help Workshop\redist
HHWCopySystem=11				; Windows\System
DelOldHHUpd=49000,redist			; Program Files\HTML Help Workshop\redist
[DelOldHHUpd]
hhupd.exe
[HHWCopy]
htmlhelp.inf,uninst.inf,,,96
setup.exe,,,96
setup.ini,,,96
advpack.dll,,,96
cnvcnt.dll,,,96
cnvtoc.dll,,,96
gencnv.dll,,,96
hhcout.dll,,,96
hhkout.dll,,,96
navout.dll,,,96
spcom.dll,,,96
sprbuild.dll,,,96
spredit.dll,,,96
sprfile.dll,,,96
sprlog.dll,,,96
hhc.exe,,,96
hhw.exe,,,96
hhw.gif,,,96
flash.exe,,,96
flash256.gif,,,96
itcc.dll,,,96
license.txt,,,96
readme.txt,,,96
[HHWCopyInc]
htmlhelp.h,,,96
[HHWCopyLib]
htmlhelp.lib,,,96
[HHWCopyJava]
dl.cl,,,96					; DialogLayout.class
e.cl,,,96					; Element.class
el.cl,,,96					; ElementList.class
h.cl,,,96					; HHCtrl.class
ip.cl,,,96					; IndexPanel.class
rd.cl,,,96					; RelatedDialog.class
HHCtrl.cab,,,96
sp.cl,,,96					; SitemapParser.class
tc.cl,,,96					; TreeCanvas.class
tv.cl,,,96					; TreeView.class
cntimage.gif,,,96
[HHWCopyHelp]
api.chm,,,96
hhaxref.chm,,,96
htmlref.chm,,,96
htmlhelp.chm,,,96
[HHWCopyRedist]
hhupd.exe,,,96
[HHWCopySystem]
hha.dll,,,96
[HHWDestinationDir]
49100=CustomLDID49100, 5
49000=CustomLDID49000, 1
[CustomLDID49100]
"HKLM","SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir","","C:\Program Files"
[CustomLDID49000]
"HKLM","SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\hhw.exe","Path","%DirMessage%","%49100%\HTML Help Workshop"
[AddInstallPath]
"HKLM","SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\hhw.exe",,,"%49000%\hhw.exe"
"HKLM","SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\hhw.exe","Path",,"%49000%"
"HKCU","Software\Microsoft\HTML Help Workshop","InstallDir",,"%49000%"
[UninstallKey]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HTML Help Workshop", "DisplayName",, "HTML Help Workshop"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HTML Help Workshop", "UninstallString",, "%49000%\setup.exe Uninstall"
[RenameJava]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava",,,%49000%\java
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","dl.cl",,"DialogLayout.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","e.cl",,"Element.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","el.cl",,"ElementList.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","h.cl",,"HHCtrl.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","ip.cl",,"IndexPanel.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","rd.cl",,"RelatedDialog.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","sp.cl",,"SitemapParser.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","tc.cl",,"TreeCanvas.class"
HKLM,"Software\Microsoft\Windows\CurrentVersion\RenameFiles\HHJava","tv.cl",,"TreeView.class"
[HHWUpdateShortcuts]
setup.ini, progman.groups,, "group0="%GroupName%""
setup.ini, group0,, ""%GroupName%""
setup.ini, group0,, """%HHWIconName%"",""%49000%\hhw.EXE"",,0,"
setup.ini, group0,, ""%FlashIconName%""
setup.ini, group0,, """%FlashIconName%"",""%49000%\flash.EXE"",,0,"
[HHWUpdateShortcuts.NT]
setup.ini, progman.groups,, ""group0="%GroupName%"""
setup.ini, group0,, """%HHWIconName%"",""""""%49000%\hhw.EXE""""""
setup.ini, group0,, """%FlashIconName%"",""""""%49000%\flash.EXE""""""
[HHWAddStartGroup.NT5]
Name=%GroupName%,5
[HHWAddStartIcon1.NT5]
Name=%HHWIconName%,1
CmdLine=49000,,hhw.exe
SubDir=%GroupName%
[HHWAddStartIcon2.NT5]
Name=%FlashIconName%,1
CmdLine=49000,,flash.exe
SubDir=%GroupName%
[RegisterItccDLL]
%49000%\itcc.dll
%49000%\sprbuild.dll
%49000%\sprlog.dll
%49000%\sprfile.dll
%49000%\spredit.dll
%49000%\spcom.dll
%49000%\cnvcnt.dll
%49000%\cnvtoc.dll
%49000%\gencnv.dll
%49000%\hhkout.dll
%49000%\hhcout.dll
%49000%\navout.dll
[HHUpdate]
"hhupd.exe /C:""setup.exe NoDlg"" /R:N"
[Strings]
BeginMessage="Do you wish to install HTML Help Workshop 1.3 now?"
EndMessage="HTML Help Workshop install complete."
DirMessage="Choose an installation directory."
Title="HTML Help Workshop 1.3 Setup"		; Title for all dialogs
GroupName="HTML Help Workshop"		; Name for the start-menu group
HHWIconName="HTML Help Workshop"		; Name for hhw.exe icon
FlashIconName="HTML Help Image Editor"	; Name for flash.exe icon
DefaultInstallDir="C:\Program Files\HTML Help Workshop"
uninst.inf
Код: Выделить весь код
[Version]
Signature="$Chicago$"				; Required for 95 and NT
[SourceDisksNames]
1="%AppName%",,1
[DefaultInstall]
CustomDestination=HHWDestinationDir
UnRegisterOCXs=RegisterItccDLL
UpdateInis=HHWDelShortcuts
DelFiles=HHWCopy, HHWCopyInc, HHWCopyLib, HHWCopyJava, HHWCopyHelp, HHWCopyRedist, HHWCopySystem
DelDirs=HHWDirectories
DelReg=UninstallKey
RunPostSetupCommands=HHWGrpConv
BeginPrompt=BeginUninstallPrompt
EndPrompt=EndUninstallPrompt
Cleanup=1
[DefaultInstall.NT5]
CustomDestination=HHWDestinationDir
UnRegisterOCXs=RegisterItccDLL
DelFiles=HHWCopy, HHWCopyInc, HHWCopyLib, HHWCopyJava, HHWCopyHelp, HHWCopyRedist, HHWCopySystem
DelDirs=HHWDirectories
DelReg=UninstallKey
ProfileItems=HHWDelNT5Group
BeginPrompt=BeginUninstallPrompt
EndPrompt=EndUninstallPrompt
Cleanup=1
[BeginUninstallPrompt]
Prompt="Do you wish to uninstall %AppName% now?"
Title="%AppName% Uninstall"
[EndUninstallPrompt]
Prompt="%AppName% uninstalled"
[HHWDirectories]
%49000%\java
%49000%\include
%49000%\lib
%49000%\redist
%49000%
[DestinationDirs]
HHWCopy=49000
HHWCopyInc=49000,include
HHWCopyLib=49000,lib
HHWCopyJava=49000,java
HHWCopyHelp=18
HHWCopyRedist=49000,redist
HHWCopySystem=11
[HHWCopy]
_instpgm.exe,,,1
_iwdinst.exe,,,1
readme.htm,,,1
htmlhelp.lib,,,1
htmlhelp.h,,,1
setup.exe,,,1
setup.ini,,,1
advpack.dll,,,1
cnvcnt.dll,,,1
cnvtoc.dll,,,1
gencnv.dll,,,1
hhcout.dll,,,1
hhkout.dll,,,1
navout.dll,,,1
spcom.dll,,,1
sprbuild.dll,,,1
spredit.dll,,,1
sprfile.dll,,,1
sprlog.dll,,,1
hhc.exe,,,1
hhw.exe,,,1
hhw.gif,,,1
flash.exe,,,1
flash256.gif,,,1
itcc.dll,,,1
license.txt,,,1
readme.txt,,,1
[HHWCopyInc]
htmlhelp.h,,,1
[HHWCopyLib]
htmlhelp.lib,,,1
[HHWCopyJava]
dialog~1.cla,,,1
elemen~1.cla,,,1
elemen~2.cla,,,1
HHCtrl.cab,,,1
hhctrl~1.cla,,,1
indexp~1.cla,,,1
relate~1.cla,,,1
sitema~1.cla,,,1
treeca~1.cla,,,1
treevi~1.cla,,,1
cntimage.gif,,,1
[HHWCopyHelp]
api.chm,,,1
hhaxref.chm,,,1
htmlref.chm,,,1
htmlhelp.chm,,,1
[HHWCopyRedist]
hhupd.exe,,,1
[HHWCopySystem]
hha.dll,,,1
[HHWDestinationDir]
49000=CustomLDID49000, 7
[RegisterItccDLL]
%49000%\itcc.dll
%49000%\sprbuild.dll
%49000%\sprlog.dll
%49000%\sprfile.dll
%49000%\spredit.dll
%49000%\spcom.dll
%49000%\cnvcnt.dll
%49000%\cnvtoc.dll
%49000%\gencnv.dll
%49000%\hhkout.dll
%49000%\hhcout.dll
%49000%\navout.dll
[CustomLDID49000]
"HKCU","Software\Microsoft\HTML Help Workshop","InstallDir","The previous installation was incomplete.",
[UninstallKey]
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HTML Help Workshop", "DisplayName"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\HTML Help Workshop", "UninstallString"
[HHWDelShortcuts]
setup.ini, progman.groups,, "group0=""%GroupName%"""
setup.ini, group0,, """%AppName%"""
setup.ini, group0,, """%FlashName%"""
[HHWDelNT5Group]
Name=%GroupName%,7
[HHWGrpConv]
"grpconv -o"
[Strings]
AppName="HTML Help Workshop"
GroupName="HTML Help Workshop"
FlashName="HTML Help Image Editor"
DefaultInstallDir="C:\Program Files\HTML Help Workshop"
AdvpackError="You need a newer version of advpack.dll"

Отправлено: 19:10, 25-06-2017 | #1980



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты 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




 
Переход