如何使注册表项使用Visual Studio Installer覆盖现有密钥

时间:2017-07-11 01:44:30

标签: visual-studio windows-installer registry

我正在使用Visual Studio安装程序项目为我构建的应用程序创建一个msi,我想为某个协议创建默认应用程序。

如果密钥在计算机上尚未设置(如果存在),则会创建密钥,但不会覆盖密钥。我缺少一个明显的设置吗?

关键是进入

HKCR\[protocol]\shell\open\command

然后是(Default)密钥。

1 个答案:

答案 0 :(得分:0)

查看您的REINSTALLMODE property哪些应默认为" omus"。你会对" m"感兴趣。 (从注册表中重写所有必需的注册表项,转到HKEY_LOCAL_MACHINEHKEY_CLASSES_ROOT),并且可能在" u" (从注册表中重写所有必需的注册表项,转到HKEY_CURRENT_USERHKEY_USERS)。此属性通常应始终与REINSTALL属性一起使用。但是,也可以在安装期间使用此属性,而不仅仅是重新安装。

如果使用命令行运行MSI(通过msiexec.exe),则需要查看Windows Installer Command-Line Options。您需要再次使用" u"来查看"/f"切换。和" m"选项