Проблема inno setup .reg file import

KARB10

Новичок
1720683298224.png

Я импортировал рег файл, но после установка setup.exe, в regedit дублировается

Должен : SOFTWARE\Wow6432Node\KONAMI\PES2013

но показывает HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Wow6432Node\KONAMI\PES2013



1720683556405.png
 

audiofeel

Старожил
Посмотреть вложение 8711

Я импортировал рег файл, но после установка setup.exe, в regedit дублировается

Должен : SOFTWARE\Wow6432Node\KONAMI\PES2013

но показывает HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Wow6432Node\KONAMI\PES2013



Посмотреть вложение 8712
Ну логично же что нужно убрать WOW6432Node ?
 

audiofeel

Старожил
10 лет назад я то же думал что 64 битные приложения находятся в WOW64
как говорится.. а с хрена ли ? :pleasantry:
 

KARB10

Новичок
10 лет назад я то же думал что 64 битные приложения находятся в WOW64
как говорится.. а с хрена ли ? :pleasantry:
Root: "HKLM"; Subkey: "SOFTWARE\Wow6432Node\KONAMI\PES2013"; ValueType: string; ValueName: "installdir"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletekey


этот код создает 2 папка Wow6432Node в regedit. Почему?
 

audiofeel

Старожил
Root: "HKLM"; Subkey: "SOFTWARE\Wow6432Node\KONAMI\PES2013"; ValueType: string; ValueName: "installdir"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletekey
этот код создает 2 папка Wow6432Node в regedit. Почему?
Уберите Wow6432Node, если приложение х32, значение заносится автоматом в Wow6432Node.
Wow6432Node
не нужно добавлять, все добавится "автоматически"
Код:
Root: "HKLM"; Subkey: "SOFTWARE\KONAMI\PES2013"; ValueType: string; ValueName: "installdir"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletekey
 

audiofeel

Старожил
Справка Inno Setup 6 (leserg73.github.io)
Значения (включая HKA) могут иметь суффикс 32 или 64. Имена разделов с суффиксом 32 (например, HKLM32) сопоставляются с 32-разрядным представлением реестра; имена разделов с суффиксом 64 (например, HKLM64) сопоставляются с 64-разрядным представлением реестра.

Имя раздела с суффиксом 64 можно использовать только при работе программы установки в 64-разрядной системе Windows, иначе произойдёт ошибка. При создании инсталлятора, поддерживающего обе архитектуры, 32-бит и 64-бит, ошибки можно избежать, добавив параметр Check: IsWin64, который приведет к тому, что при работе в 32-разрядной системе Windows данная запись будет пропущена.

Имя раздела без суффикса (например, HKLM) эквивалентно значению с суффиксом 32 (например, HKLM32), пока инсталлятор не работает в 64-разрядном режиме установки, иначе эквивалентно значению с суффиксом 64 (например, HKLM64).
 

hitman797

Новичок
Код:
// Registry functions

function RegKeyExists(const RootKey: Integer; const SubKeyName: String): Boolean;
function RegValueExists(const RootKey: Integer; const SubKeyName, ValueName: String): Boolean;

function RegGetSubkeyNames(const RootKey: Integer; const SubKeyName: String; var Names: TArrayOfString): Boolean;
function RegGetValueNames(const RootKey: Integer; const SubKeyName: String; var Names: TArrayOfString): Boolean;

function RegQueryStringValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: String): Boolean;
function RegQueryMultiStringValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: String): Boolean;
function RegQueryDWordValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultDWord: Cardinal): Boolean;
function RegQueryBinaryValue(const RootKey: Integer; const SubKeyName, ValueName: String; var ResultStr: String): Boolean;

function RegWriteStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteExpandStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteMultiStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegWriteDWordValue(const RootKey: Integer; const SubKeyName, ValueName: String; const Data: Cardinal): Boolean;
function RegWriteBinaryValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;

function RegDeleteKeyIncludingSubkeys(const RootKey: Integer; const SubkeyName: String): Boolean;
function RegDeleteKeyIfEmpty(const RootKey: Integer; const SubkeyName: String): Boolean;
function RegDeleteValue(const RootKey: Integer; const SubKeyName, ValueName: String): Boolean;
 

KARB10

Новичок
С версии 6.3.0 в редакторе появился инструмент импорта данных реестра из файла REG.

Посмотреть вложение 8720

Он автоматом убирает записи "WOW6432Node", если таковые в файле реестра присутствуют.

Да, конкретно этот импортер работает правильно , Inno script studio создает WOW6432Node два раз, из за этого игра не запускается /
 
Сверху