получение родной системы 32 на 64-битной ОС с установкой inno в 32-битном режиме - PullRequest
3 голосов
/ 23 января 2012

У меня есть DLL, которая должна быть установлена ​​как 32-битная И 64-битная при установке на 64-битной ОС.Мне нравится, когда Is64BitInstallMode не определен, поэтому установка выполняется в 32-битном режиме.Моя проблема: {sys} возвращает то же самое, что и {syswow64}.Таким образом, моя установка не копирует 64-битную версию dll в собственную папку system32 на 64-битной ОС.

Как я могу добиться этого - даже работая в режиме 32-битной установки - на 64-битной ОС 32-битнойДвоичный файл копируется в {syswow64}, а его 64-битный кулон копируется в real- {sys} (так, родная 64-битная папка system32).Спасибо

1 Ответ

2 голосов
/ 23 января 2012

Я ничего не знаю о Inno Setup, но, возможно, это поможет: 32-разрядные процессы в системах Win64 могут получить доступ к истинному каталогу System32, используя псевдоним "sysnative".Поэтому, если вы можете убедить InnoSetup записать 64-битную DLL в «C: \ Windows \ sysnative», она должна получиться в настоящем «C: \ Windows \ System32».(Конечно, вам нужно будет справиться с ситуациями, когда система установлена ​​где-то, кроме C: \ Windows).

Документировано здесь: http://msdn.microsoft.com/en-us/library/aa384187.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...