Иконки не для исполняемого файла

zapsip

Участник
Здравствуйте всем !
Как в скрипте создать дополнительные иконки на рабочий стол для определённых файлов, установленных в процессе установки ))) и находящихся в папке или в недрах папки установленной программы (игры) , но отличных от файла запуска игры ?

Бывает такое, что создатели игры делают сразу несколько исполняемых файлов : лаунчер, старт, ран, сетап для настроек графики, звука и т д

А бывает, что репакер хочет облегчить жизнь игрока, cоздавая файлы .cmd .bat , например, для мультиплеера и одиночной игры; для разных озвучек; и т д.
 
Последнее редактирование:

SBalykov

Старожил
Код:
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
  ssPostInstall: begin
  CreateShellLink(ExpandConstant('{commondesktop}\Запустить что-нибудь.lnk'), '', ExpandConstant('{app}\файл запуска'), '', '', ExpandConstant('{app}\файл иконки'), 0, 0);
end;
end;
end;
 
Последнее редактирование:

zapsip

Участник
Благодарю. Буду изучать. Хотя это сложно.
У меня есть фрагмент похожий :

Procedure CurStepChanged(CurStep: TSetupStep);
begin
ISDoneCurStep(CurStep);
end;
Подскажите, где у меня ошибка ?

К моей задаче можно подойти и с другой стороны : Как добавить к ярлыку (основного ) исполняемого (запускаемого) файла некий параметр ?
Не вручную, разумеется, а назначить автоматически в процессе установки игры.
Может, такая задача легче для исполнения в скрипте ?
 
Последнее редактирование:

Косой

Новичок
А почему бы дополнительные иконки не создать через секцию Icons?
Name: "{group}\{#MyAppName}"; Filename: {app}\Bin\S.exe; IconFilename: {app}\1.ico;
Name: "{group}\Выбор языка"; Filename: {app}\Engine\Language Selector.exe; IconFilename: {app}\2.ico;
Про параметр к экзешнику, если я правильно понял, то как-то так:
[Icons]
Name: "{group}\II"; Filename: "{app}\2.exe"; Parameters: "-mod"; WorkingDir: "{app}";
Name: "{commondesktop}\II"; Filename: "{app}\2.exe"; Parameters: "-mod"; WorkingDir: "{app}";
 

Nemko

Дилетант
Модератор
zapsip оператор выбора case находится не в "теле" самой процедуры CurStepChanged, да и вообще написано как-то странно, две одинаковые процедуры CurStepChanged с разными параметрами
(ИМХО конечно же лучше соединить в одной).

Код:
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
  ssPostInstall: begin
  if ActiveLanguage = "Russian" then CreateShellLink(ExpandConstant('{commondesktop}\Rus.lnk'), '', ExpandConstant('{app}\Rus.bat'), '', '', ExpandConstant('{app}\Rus.ico'), 0, 0);
  else CreateShellLink(ExpandConstant('{commondesktop}\Eng.lnk'), '', ExpandConstant('{app}\Eng.bat'), '', '', ExpandConstant('{app}\Eng.ico'), 0, 0);
 end;
end;
  IsDoneUnpack(CurStep);
end;
 
Последнее редактирование:

SBalykov

Старожил
Виктор, скорее всего процедура IsDoneUnpack выполняется во время установки...
Код:
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
  ssInstall: IsDoneUnpack(CurStep);
  ssPostInstall: begin
if ActiveLanguage = 'Russian' then
  CreateShellLink(ExpandConstant('{commondesktop}\Rus.lnk'), '', ExpandConstant('{app}\Rus.bat'), 'параметры запуска', '', ExpandConstant('{app}\Rus.ico'), 0, 0) else
  CreateShellLink(ExpandConstant('{commondesktop}\Eng.lnk'), '', ExpandConstant('{app}\Eng.bat'), 'параметры запуска', '', ExpandConstant('{app}\Eng.ico'), 0, 0);
  end;
  end;
end;
 
Последнее редактирование:

zapsip

Участник
SBalykov, Косой, Nemko, Всем спасибо.

Для решения моей задачи мне помогло
Косой,
Name: "{commondesktop}\II"; Filename: "{app}\2.exe"; Parameters: "-mod"; WorkingDir: "{app}";

Это решение и было использовано для репака игры DESOLATE на сайте русторка , автор репака zapsip8

Тем не менее, изучаю иные предложенные способы.
Хочу понять их все.
 
Последнее редактирование:

Nemko

Дилетант
Модератор
 
Сверху