Вопрос Help

Vadik_2K

Новичок
Как сделать так когда запускаешь модпак и он сам искал путь к игре например cs-go.exe
 

EvilAlex

Старожил
Как то так вроде...

Код:
[Setup]
DefaultDirName={code:MyDirName}

[_Code]
function MyDirName(S:String): String;
var
  InsPath: String;
  er: boolean;
  myFile:String;
begin
  Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда
  er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);
  er := RegQueryStringValue(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812ru}_is1', 'InstallLocation', InsPath);
  if er and (InsPath<>'') then //если ключ существует и там что-то записано
  begin
    Result := InsPath;
  end;
end;
 

vint56

Ветеран
Проверенный
Vadik_2K,
Inno Setup Faq. Путь из реестра
Вариант 1:
Код:
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={code:GetInstallDir}
AppendDefaultDirName=no

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

[Code]
function GetInstallDir(Path: String ): String;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Rockstar Games\EFLC', 'InstallPath', Path);//Какой ключ реестра ищет ...
Result := Path;
end;

function InitializeSetup(): Boolean;
begin
Result:= true;
if not RegKeyExists(HKLM, 'SOFTWARE\Rockstar Games\EFLC') then
MsgBox('Игра {#SetupSetting("AppName")} не найдена! Укажите путь к папке с игрой вручную!', mbinformation, mb_ok);
end;


 

nik1967

Old Men
Проверенный
[Setup]
AppName=S.T.A.L.K.E.R OGS Evolution 0.6.9.3 Patch

AppVersion=2.12
VersionInfoVersion=0.2.1.2
AppPublisher=GSC Game World & OGSE ModTeam
AppPublisherURL=http://ogse.ru
AppSupportURL=http://forum.ogse.ru
AppUpdatesURL=http://forum.ogse.ru/viewtopic.php?f=1&t=2641
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\S.T.A.L.K.E.R OGSE Mod_is1,InstallLocation|{pf}}
AppendDefaultDirName=no

Так ещё проще.
 
Сверху