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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


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

Отправлено: 18:01, 29-08-2011

 

Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата Serega:
Лександер, насколько помню вам отвечал, много строчный текст комментируется так: { большой текст, много строк } »
это работает только в секции кода, меня интересует секция файлов и реестра

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

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

Отправлено: 07:33, 23-02-2012 | #881



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата R.i.m.s.k.y.:
меня интересует секция файлов и реестра »
там-же я и ответил - других способов коментирования строк, кроме того, что я показывал, и ты перед этим давал - нету. Совсем нету... Вообще совсем нету. Кстати, С праздником, уважаемые коллеги

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 10:30, 23-02-2012 | #882


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

Ветеран


Contributor


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

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


Цитата Serega:
Ошибка возникает именно из-за попытки обращения к контролу, который ещё не создан. »
Serega, совершенно верно.

Цитата Johny777:
дальше не знаю
Name:.......Parameters: -steam -game hl2 -appid 220 -{code:функция};......... »
Это надо делать в Code с помощью CreateShellLink, когда контролы уже существуют.

Цитата R.i.m.s.k.y.:
это работает только в секции кода, меня интересует секция файлов и реестра »
У Restools с этим просто - выделяешь строки и жмешь на клавишу /, в Code строки будут закомментированы двойным слэш, в остальных секциях точкой с запятой.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:39, 23-02-2012 | #883


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


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

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


Johny777,

Можно еще спросить по реестру. Собрал скрипт в IS GameScript generator. У меня стоит Windows 7 x64, и все игрушки пишутся вот в эту ветку реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\
И так как я добавляю реестр из reg - файла (вернее просто ветку реестра с моего компа) то будут ли эти игрушки после установки работать скажем на Win XP x32 или на Win 7 x32. Или надо добавлять в скрипт какую то проверку на разрядность системы. Если надо то что и куда добавить. А главное, как ? (Вариант ручками и т.д. прошу не предлагать).
Вот мой скрипт

[Setup]
SourceDir=.
OutputDir=Setup
AppName=The Book of Unwritten Tales
AppVerName=The Book of Unwritten Tales
AppVersion=The Book of Unwritten Tales
AppPublisher=HMN Interactive
AppCopyright=HMN Interactive
DefaultDirName={pf}\The Book of Unwritten Tales
DefaultGroupName=The Book of Unwritten Tales
AllowNoIcons=yes
InfoBeforeFile=D:\Картинки\Лицензия.rtf
OutputBaseFilename=setup
WizardImageFile=D:\Картинки\InstallLeft.bmp
WizardSmallImageFile=D:\Картинки\InstallCorner.bmp
SetupIconFile=C:\Program Files (x86)\The Book of Unwritten Tales\Book.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra
DiskSpanning=yes
DiskSliceSize=524288000
SlicesPerDisk=1

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"

[Files]
Source: "D:\Картинки\1.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\10.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\2.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\3.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\4.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\5.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\6.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\7.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\8.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "D:\Картинки\9.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "isgsg.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "bass.dll"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\20-abspann-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\08-erzmagier_alastair-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\10-das_lied_vom_tod-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\12-unknown-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\15-unknown-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: "T:\The Book of Unwritten Tales\Soundtarck\OST-The_Book_Of_Unwritten_Tales-READNFO-2011-I_KnoW\16-ivo-ik.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: C:\Users\SASHA\Desktop\Game.reg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: "C:\Program Files (x86)\The Book of Unwritten Tales\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: "{group}\The Book of Unwritten Tales"; Filename: "{app}\bout.exe"; WorkingDir: "{app}";
Name: "{userdesktop}\The Book of Unwritten Tales"; Filename: "{app}\bout.exe"; WorkingDir: "{app}"; Tasks: desktopicon;
Name: "{group}\{cm:UninstallProgram,The Book of Unwritten Tales}"; Filename: "{uninstallexe}"

[Run]
Description: "{cm:LaunchProgram, The Book of Unwritten Tales}"; Filename: "{app}\bout.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked
Filename: {win}\regedit.exe; Parameters: /s {tmp}\Game.reg; StatusMsg: "Вносим изменения в реестр ..."; Flags: waituntilterminated runasoriginaluser

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

[code]
const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PAnsiChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PAnsiChar;IsShowMP3Info,IsBk gFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('Game.reg');
ExtractTemporaryFile('20-abspann-ik.mp3');
ExtractTemporaryFile('08-erzmagier_alastair-ik.mp3');
ExtractTemporaryFile('10-das_lied_vom_tod-ik.mp3');
ExtractTemporaryFile('12-unknown-ik.mp3');
ExtractTemporaryFile('15-unknown-ik.mp3');
ExtractTemporaryFile('16-ivo-ik.mp3');
ExtractTemporaryFile('bass.dll');
Result:=True;
end;

procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'Repack by BlackPhoenix',True,True,7000,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),10,False,1,$FF000000);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('1.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\1.jpg');
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ssDeInitialize;
end;

Отправлено: 14:07, 23-02-2012 | #884


Аватара для Gnom_aka_Lexander

Ветеран


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

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


BlackPhoenix28, Просто удаляй из пути подпапку Wow6432Node. Тоесть вместо
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\и так далее,
нужно HKEY_LOCAL_MACHINE\SOFTWARE\и так далее.
х32-х64 инно определяет сама, и в х64 автоматом подставит подпапку Wow6432Node в путь.
Если у тебя вдруг будет нужда внести запись без этой подпапки в х64 системе, нужно указать х64-корень.
HKLM64\SOFTWARE\
только не забыть проверку сделать - Check: IsWin64, посколько в х32 системах будет ошибка и нужно исключить такую запись из обработки установщиком.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 23-02-2012 в 14:53.

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

Отправлено: 14:22, 23-02-2012 | #885


Аватара для Johny777

Ветеран


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

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


Цитата El Sanchez:
Это надо делать в Code с помощью CreateShellLink, когда контролы уже существуют. »
спасибо за подсказку
вот сделал,
параметры добавляются
всё работает!
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
OutputDir=.



[_code]
{ RedesignWizardFormBegin } // Íå óäàëÿòü ýòó ñòðîêó!
// Íå èçìåíÿòü ýòó ñåêöèþ. Îíà ñîçäàíà àâòîìàòè÷åñêè.
var
  Icon_hl2: TNewCheckBox;
  parameters_hl2: TNewEdit;
  s1,s2:String;

procedure parameters1OnClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
  { Icon_hl2 }
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
  with Icon_hl2 do
  begin
    Name := 'Icon_hl2';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(200);
    Top := ScaleY(208);
    Width := ScaleX(161);
    Height := ScaleY(17);
    Caption := 'create icon for Half-Life 2';
    OnClick := @parameters1OnClick;
  end;

  { parameters_hl2 }
  parameters_hl2 := TNewEdit.Create(WizardForm);
  with parameters_hl2 do
  begin
    Name := 'parameters_hl2';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(368);
    Top := ScaleY(208);
    Width := ScaleX(121);
    Height := ScaleY(21);
    Text := ' ';
  end;

  Icon_hl2.TabOrder := 2;
  parameters_hl2.TabOrder := 3;

{ ReservationBegin }
  // Âû ìîæåòå äîáàâèòü âàø êîä çäåñü.

{ ReservationEnd }
end;
// Íå èçìåíÿòü ýòó ñåêöèþ. Îíà ñîçäàíà àâòîìàòè÷åñêè.
{ RedesignWizardFormEnd } // Íå óäàëÿòü ýòó ñòðîêó!

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

function CreateIconHL2: Boolean;
begin
  Result:=Icon_hl2.Checked;
end;

procedure parameters1OnClick(Sender: TObject);
begin
if Icon_hl2.Checked = false then
  begin
    parameters_hl2.Enabled:= false;
    parameters_hl2.visible:= false;
  end
else
  begin
    parameters_hl2.Enabled:= true;
    parameters_hl2.visible:= true;
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  s2:=parameters_hl2.Text;
    s1:=ExpandConstant('-steam -game hl2 -appid 220');
  if CurStep = ssPostInstall then
  begin
  if Icon_hl2.Checked then

     CreateShellLink(ExpandConstant('{commondesktop}\Half-Life 2.lnk'), '',
    ExpandConstant('{app}\common\half-life 2\hl2.exe'),s1 + s2, ExpandConstant('{app}\common\half-life 2'), ExpandConstant('{app}\common\half-life 2\hl2.ico'), 0, SW_SHOWNORMAL);
/////////////////////////////// ÿðëûê íà ðàáî÷åì ñòîëå //////////////////////////////////////// ê ôàéëó òàêîìó-òî /////////////////// ïàðàìåòðû  çàïóñêà  /////////////////////// ðàáî÷àÿ ïàïêà  ////////////////////////////////  ôàéë çíà÷êà  ///// 0 ýòî èíäåê èêîíêè ////////
  end;
end;
 procedure CurPageChanged(CurPageID: Integer); 
 begin         
    if CurPageID=wpWelcome then

     begin

       parameters_hl2.Hide
     end;
 end;
[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D003010F601000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F101134F6E436F6E73747261696E6564526573697A650712706172616D6574657273314F6E436C69636B0C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C69636974486569676874033901000C544E6577436865636B426F780849636F6E5F686C32044C65667403C80003546F7003D00005576964746803A1000648656967687402110743617074696F6E061B6372656174652069636F6E20666F722048616C662D4C6966652032085461624F726465720202074F6E436C69636B0712706172616D6574657273314F6E436C69636B000008544E6577456469740E706172616D65746572735F686C32044C65667403700103546F7003D0000557696474680279064865696768740215085461624F72646572020304546578740602603F0000000000


у меня вопрос
как привязать эту функцию к кастомному чекбоксу (раньше у меня на была привязана к задаче Task чарез Check)
Код: Выделить весь код
function Task_DirectX:boolean; /// DirectX search
var
  sz:Integer;
  s:string;
begin
  Result:=True;
begin
 If (FileSearch('DXSETUP.exe', ExpandConstant('{src}\Redist\DirectX10'))='') then
  Result:=False
end;
end;
например к этому http://forum.ru-board.com/topic.cgi?...&limit=1&m=1#1
и если во внешней папке нет директа, то и чекбокса нет

Последний раз редактировалось Johny777, 24-02-2012 в 14:58.


Отправлено: 16:45, 23-02-2012 | #886


Аватара для nik1967

Старожил


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

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


Johny777, как то криво, но работает
Код: Выделить весь код
If not (FileSearch('DXSETUP.exe', ExpandConstant('{src}\Redist\DirectX10'))='') then begin
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
Ну или так
Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
OutputDir=.

[Languages]
Name: Russian; MessagesFile: compiler:Languages\Russian.isl;

[_Code]
var
QuickLaunchIcon: TCheckBox;
 
function MakeQuickLaunchIcon: Boolean;
begin
    Result:=QuickLaunchIcon.Checked;
end;
 
procedure InitializeWizard();
begin
If FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe')) then 
begin
QuickLaunchIcon := TCheckBox.Create(WizardForm);
 with QuickLaunchIcon do
  begin
    Parent := WizardForm.SelectDirPage;
    Caption := 'Создать значок в Панели быстрого запуска';
    Left := ScaleX(0);
//    Left := WizardForm.DirEdit.Top + 100;
    Top := WizardForm.DirEdit.Top + 117;
    Width := ScaleX(300);
    Height := ScaleY(15);
    TabOrder := 0;
    Checked := False;
   end;
 end;
end;

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


Последний раз редактировалось nik1967, 24-02-2012 в 15:31.

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

Отправлено: 15:00, 24-02-2012 | #887


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Johny777, FileExists использовать религия индусская запрещает?
Код: Выделить весь код
If (not FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe'))) then 
  begin   
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
  ...

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 24-02-2012 в 16:32.

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

Отправлено: 15:06, 24-02-2012 | #888


Аватара для nik1967

Старожил


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

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


R.i.m.s.k.y., чуток подправил
Код: Выделить весь код
If FileExists(ExpandConstant('{src}\Redist\DirectX10\DXSETUP.exe')) then 
  begin   
  Icon_hl2 := TNewCheckBox.Create(WizardForm);
  ...
Давно Инно не занимался, и к стыду своему забыл, что есть функция "Файл существует"

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


Последний раз редактировалось nik1967, 24-02-2012 в 15:33.

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

Отправлено: 15:23, 24-02-2012 | #889


Аватара для R.i.m.s.k.y.

Ветеран


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

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


nik1967, Johny777
ну это вам виднее, to not or not to be a not

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

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

Отправлено: 15:48, 24-02-2012 | #890



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход