MSI File / Registry сбои в Windows Server 2008 / Windows 7 (x64) - PullRequest
0 голосов
/ 17 июня 2010

Я пытаюсь развернуть приложение на Windows Server 2008 (SP2 x64) и Windows 7 (x64), используя VS2005 Installer Project.Версия MSI (я думаю) это 2.0.

Все отлично работает, за исключением того, что некоторые ключи реестра и некоторые файлы не копируются на установочную машину.Система MSI ни о чем не уведомляет (и я не знаю, регистрирует ли MSI свои операции).

Существуют ли несовместимости между моим проектом установки MSI и этими новыми ОС?Мне кажется, что ОС защищает себя от изменения в какой-то части.

Например, я пытаюсь установить ключи реестра:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \Windows NT \ WinLogon \ SpecialAccounts \ UserList \ User

, но он не создан.В этом же инсталляторе есть много других ключей, которые создаются, как и ожидалось (как они всегда делали раньше в Windows XP и Windows Server 2003).

В качестве другого примера я пытаюсь установить файл

% SystemFolder% \ oobe \ info \ background \ backgroundDefault.jpg

(где% SystemFolder% обычно "C: \ Windows \ System32"), но файлвообще не копируется !!!

Что происходит?


Я обнаружил, что файл backgroundDefault.jpg находится в другом каталоге:% SystemRoot% \ SysWOW64 \ oobe \ info.

Но я ничего не указал о системной (64-битной) папке.Как я могу скопировать файл в нужное место?

1 Ответ

1 голос
/ 17 июня 2010

Во-первых, что касается ведения журнала, вы можете попросить MSI создать файл журнала своих операций, например так:

msiexec.exe -i my_msi_file.msi -l*vx logfile.txt

Это создаст файл журнала с именем logfile.txt.

Во-вторых, похоже, что вы создаете 32-битный MSI и запускаете его в 64-битной Windows. В этом нет ничего плохого, но имейте в виду, что Windows использует перенаправление файловой системы . В Windows есть отдельные ключи SystemFolder и HKLM / SOFTWARE для размещения 32-разрядных приложений. Если вы посмотрите в Реестре на HKLM / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, вы, вероятно, увидите подраздел Wow6432Node - здесь 32-битные приложения записывают свои данные реестра.

...