Показать полную графическую версию : [архив] Inno Setup .:[все вопросы]:.
evgenik123456
23-08-2009, 16:23
а у тебя работоет? я имею в виду с путём назначения всё в порядке! значит уменя какойто глюк?
serg aka lain
23-08-2009, 16:30
а у тебя работоет? я имею в виду с путём назначения всё в порядке! »
именно этот код - работает.
evgenik123456
23-08-2009, 16:40
может с ino setup проблемы
serg aka lain
23-08-2009, 17:39
evgenik123456,
Можно ещё и так
; Inno Setup Compiler 5.3.4(u)
[Setup]
AppName=Spore
AppVerName=Spore
DefaultDirName={code:GetInstallDataDir}
AppendDefaultDirName=False
ShowLanguageDialog=auto
OutputDir=userdocs:Spore.
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl";
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl";
[Code]
function GetInstallDataDir(InstallDataDir: String): String;
begin
RegQueryStringValue(HKLM, 'Software\Electronic Arts\SPORE', 'DataDir', InstallDataDir);
if InstallDataDir <> '' then
Result := InstallDataDir
else
Result := AddBackSlash(ExpandConstant('{pf}\Spore'));
end;
Что есть тоже самое, что и
DefaultDirName={reg:HKLM\Software\Electronic Arts\SPORE,DataDir|{pf}\My Program}
BlackSelf
23-08-2009, 18:41
evgenik123456, чуть-чуть изменил вариант serg aka lain. Попробуйте:
[Setup]
AppName=Spore
AppVerName=Spore
DefaultDirName={code:GetInstallDataDir}
AppendDefaultDirName=False
ShowLanguageDialog=auto
OutputDir=.
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl";
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl";
[_Code]
function GetInstallDataDir(InstallDataDir: String): String;
begin
RegQueryStringValue(HKLM, 'Software\Electronic Arts\SPORE', 'DataDir', InstallDataDir);
if InstallDataDir <> '' then
Result := RemoveQuotes(InstallDataDir)
else
Result := AddBackSlash(ExpandConstant('{pf}\Spore'));
end;
serg aka lain
23-08-2009, 19:02
BlackSelf,
Так RemoveQuotes(); нужна чтобы кавычки в пути (значении ключа убрать),
обычно их в этой ветке не замечал, но в принципе пускай будет
Result := RemoveQuotes(InstallDataDir), не помешает.
BlackSelf
23-08-2009, 19:07
serg aka lain, просто мне кажется, что подобная проблема:
C:\Program Files (x86)\Inno Setup 5\Examples\Output\"f:\Program Files (x86)\Electronic Arts\SPORE\Data\"
получается из-за того, что путь в реестре заключен в кавычки.
serg aka lain
23-08-2009, 19:16
BlackSelf, возможно, но по умолчанию не видел, чтобы с кавычками было,
как уже и говорил Result := RemoveQuotes(InstallDataDir), не помешает.
может с ino setup проблемы »
Нет.
Экспортируйте свой ключ в рег файл и покажите его.
но по умолчанию не видел, чтобы с кавычками было, »
serg aka lain, дело в том, что инсталляторы делают люди, ну а в коком виде его туда занесут в таком и будет :) ...
Мне попадались такие, но если экспортировать ключ в рег файл, то строковой параметр обязательно будет в кавычках.
volk1234
23-08-2009, 20:13
Лимит страниц.
Тема закрыта.
продолжаем тут:
Inno Setup. Обсуждение установщика (http://forum.oszone.net/thread-148707.html)
Скрипты Inno Setup. Помощь и советы (http://forum.oszone.net/thread-148703.html)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC