Проект установки Visual Studio (2010) x64 - удаление ключа реестра при установке и добавление при удалении - PullRequest
2 голосов
/ 19 октября 2010

Я пытаюсь создать проект установки. При установке я хочу создать некоторые ключи реестра и удалить другие. При удалении я хочу сделать наоборот.

Что касается создания ключей при установке и удаления их при удалении - нет проблем, оно встроено в проект установки.

Проблема заключается в удалении ключей при установке (и добавлении их обратно при удалении).

Последний не встроен в проект установки, поэтому мне пришлось использовать Custom Action .

И здесь возникает другая проблема: Машина, на которой я устанавливаю, - Windows 7 64bit . Я изменил проект установки TargetPlatform на 64-битную, а также настраиваемое действие dll для 64-битной.

Пользовательский dll (который, конечно, наследует System.Configuration.Install.Installer) выполняет regedit.exe (с файлом .reg в качестве параметра), используя Process.Start, но не имеет значения, как я «играю» с целью платформы, когда я пытаюсь установить его (дважды щелкнув по скомпилированному проекту установки), он открывает несколько процессов msiexec.exe, некоторые в 32-битном режиме (проверено в ProcessExplorer), поэтому моя пользовательская dll продолжает менять подузлы SysWow64 вместо 64-битного узла ( который находится где-то под HKEY_LOCAL_MACHINE).

Есть ли способ выполнить это с помощью проекта установки VS и не переходить к установщику другого типа?

...