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

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

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

Сообщение actavir »

Лександер,

Так это и есть снаружи, параметр z передаешь инсталлеру, InitializeSetup проверяет задан ли он (в виде \z, /z, -z), если есть такой переменной paramZ присваивается Тру

И вот тут у меня ошибочка, paramZ : boolean; должен объявляться в начале секции Code что быть доступным все функциям.

Потом в конце установки (процедура CurStepChanged) если параметр тру - выполняем чего там хотели.


Цитата Лександер:



можно попробовать компонентами решить
Скрипты Inno Setup. Помощь и советы [часть 3]




Я не буду фрагментировать моск мифическими Param1, дам прям кусок из своего инсталлера, повырезав лишнее, так что если будет ругаться что не объявлены переменные или Энда не хватает - допишите сами.



Код:

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

[Components]
# define haaliaviDesc "Haali - воспроизводить avi"
Name: haaliavi; Description: {#haaliaviDesc}; Check: HaaliExists
[_Code]
var paramZ, silent, haaliavi : integer;
function InitializeSetup(): Boolean;
var i : integer; s, st : string;  
begin
  paramZ:= -1; silent:= -1; haaliavi := -1; // три состояния: -1 - не изменялось, 0 - нет, 1 - да
  for i:=2 to ParamCount do begin
    if ( (Lowercase(ParamStr(i)) = Lowercase('/silent')) or (Lowercase(ParamStr(i)) = Lowercase('/verysilent')) ) then begin
      silent := 1;
      break;
    end;
  end;
  for i:=2 to ParamCount do begin
    st := Lowercase(ParamStr(i)); StringChangeEx(st, '/', '', True); StringChangeEx(st, '\', '', True); StringChangeEx(st, '-', '', True);
    case st of 
      Lowercase('z') : paramZ := 1;
      Lowercase('haaliavi') : haaliavi := 1;
    end;
  end;
end;
procedure InitializeWizard();
  if (silent = 1) then begin
    if ( (haaliavi = 1) and haaliexists) then WizardForm.ComponentsList.Checked[WizardForm.ComponentsList.Items.IndexOf('{#haaliaviDesc}')]:=True;
  end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var res : integer; 
begin
  if ( CurStep=ssDone) and (paramZ = 1) ) then Exec('x.exe', ' /z ' ,ExpandConstant('{...}'),SW_HIDE,ewWaitUntilTerminated,res);
end;
Аватара пользователя
actavir

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

Сообщение actavir »

Я конечно извиняюсь, но у меня опять запара)))

Я скачал русский хелп инно не хочет его открывать открывает старый английский

Что делать?
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Цитата Лександер:



Я неточно выразился, а что если для разных случаев нужно разные параметры? Для одного случая один ключ, для другог другой...
Скрипты Inno Setup. Помощь и советы [часть 3]




поточнее чего хотим
Аватара пользователя
actavir

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

Сообщение actavir »

Пишет что не удалось подключить справку по этой программе. У меня Win 7
Аватара пользователя
actavir

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

Сообщение actavir »

Цитата Лександер:



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




да, каждый поотдельности

инно понимает параметры только со слэшэм "/", т.е. если ему написать -silent или \silent он не поймет.

В моем примере выше собственные параметры можно писать вообще одной буквой z, но параметры инно надо писать как положено, /norestart к примеру.
Аватара пользователя
Vamp1re

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

Сообщение Vamp1re »

У меня установка DirectX начинаеться перед распаковкой архивов FreeArc можно ли изменить так чтоб установка DirectX начиналась после распаковки архивов FreeArc? и как ето сделать? (вот мой код)



PHP код:

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

Filename: "{src}\DirectX\DXSETUP.exe"; WorkingDir: "{src}\DirectX"; Parameters: "/silent"; Check: DirectX; Flags: waituntilterminated; BeforeInstall: DirectXProgress; 



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

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

Сообщение Vamp1re »

Цитата vahe-91:



насколько знаю вместо [_code]
Скрипты Inno Setup. Помощь и советы [часть 3]




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


Цитата vahe-91:



а в конце вместо ; ТОЧКА
Скрипты Inno Setup. Помощь и советы [часть 3]




секция Code закрывается end.

если есть ошибки - исправь код, брат, он не кусается.


Цитата vahe-91:



то во время компиляции пишет unknown identifier 'x'
Скрипты Inno Setup. Помощь и советы [часть 3]




там подразумевается что человек сам подставит путь к его запускному файлу x.exe для которого нужны параметры. Возьми в апострофы 'x.exe'.
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

R.i.m.s.k.y.,

спасибо, ты очень добр
Аватара пользователя
Imitri7

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

Сообщение Imitri7 »

Народ подправте пожалуйста реестр:

Код:

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

[Registry]
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: DisplayName; ValueData: Need for Speed™ Most Wanted; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Registration; ValueData: SOFTWARE\Electronic Arts\EA GAMES\Need for Speed Most Wanted\ergc; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: CacheSize; ValueData: 3171337216; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: SwapSize; ValueData: 73400320; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Language; ValueData: Russian; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Locale; ValueData: ru; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Install Dir; ValueData: {app}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Product GUID; ValueData: {{A48B9CD8-C2BA-4EC9-0081-7260D238C7CF}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Region; ValueData: Europe; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Folder; ValueData: {group}\Need for Speed™ Most Wanted\; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted; ValueType: string; ValueName: Suppression Exe; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted\1.0; ValueType: dword; ValueName: Language; ValueData: $00000010; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted\1.0; ValueType: string; ValueName: DisplayName; ValueData: Need for Speed™ Most Wanted; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\EA GAMES\Need for Speed Most Wanted\1.0; ValueType: string; ValueName: LanguageName; ValueData: Russian; Flags: uninsdeletevalue uninsdeletekeyifempty

Я его вроде и так подредактировал, но может что-то ещё упустил??
Аватара пользователя
Diman19

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

Сообщение Diman19 »

Всем привет! Скажите пожалуйста где допужена ошибка при создании инсталятора?Проблема в следующем.Создал дерево компонентов при установке,снимаю галочку с комопнентов а они всё равно устанавливаются.Помогите найти ошибку.




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






[Components]

Name: gamefiles; Description: Файлы программы™; Types: full recomend custom; Flags: fixed

Name: components; Description: Компоненты; Types: full

Name: components\cleaner; Description: Очистка диска; Flags: dontinheritcheck

Name: components\reestr; Description: Очистка реестра; Flags: dontinheritcheck

Name: manual; Description: Инструкция; Types: full recomend custom



[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked



[Files]

Source: "F:\Applications\My program\Myprogram.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "F:\Applications\My program\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

Source: F:\Applications\My Program\external\components\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: components

Source: F:\Applications\My program\external\component\cleaner.exe; DestDir: {app}\external\components; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: components\cleaner

Source: F:\Applications\My Program\external\components\reestr.exe; DestDir: {app}\external\components; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: components\reestr
Ответить

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