Цитата ChVL:
Всё, что Вы здесь расписали - так и сделано. »
|
Что именно сделано?
Экспортированно через
а затем правка? Про Converter ни слова не написал.
ISTool и InnoIDE не умеют правильно обрабатывать ключи.
Для этого используй Converter или Inno Script Studio - вставляют правильно, без слеша..
Цитата ChVL:
Вопрос в другом: как автоматически пройти тот путь, который указан в моём посте, т.е. исключить необходимость ручной правки скрипта. »
|
Совсем не получится.
Например если в файле reg присутствует путь "C:\\Program Files\\MyTeam\\MyProg\\MyProg.exe" то в
ValueData так и запишется "C:\Program Files\MyTeam\MyProg\MyProg.exe" и речи, ни о каких "
{app}\MyProg.exe" не может быть идти т.к в программах за ранее не заложена вставка-(автоматическая замена) переменных Inno для реестра.
И ещё один момент: На кой в секции
[Registry] прописаны эти:
Код:

Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"",0"
Код:

Root: "HKCR"; Subkey: ".323"; ValueType: string; ValueData: """C:\Program Files\MyTeam\MyProg\MyProg.exe"" --started-from-file ""%1"""
две строки?
Одна для значка а другая исполняемая?
При инсталляции запишется только одна, т.е при инсталляции запишется первая - а затем первую, заменит вторая - либо наоборот. По этому всё равно запишется только одно значение.
Правильнее будет так (покажу на примере ассоциации расширения *.text к AkelPad-у):
Код:

[Registry]
Root: HKLM; Subkey: Software\Classes\.text; ValueType: string; ValueName: ; ValueData: AkelPad.Note; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\Classes\AkelPad.Note\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\AkelPad.exe,1; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\Classes\AkelPad.Note\shell\open\command; ValueType: string; ValueName: ; ValueData: "{app}\AkelPad.exe ""%1"""; Flags: uninsdeletevalue
Полагаясь на возможности одних только программ для обработки - этого мало, в первую очередь нужно самому реестр понимать.