我可以从我的程序中启动MSI安装程序吗?

时间:2012-06-28 10:30:19

标签: c++ windows-installer

我希望用户能够通过单击UI上的按钮来重新配置其安装(打开/关闭组件)。这将使用msiexec /i命令(或等效命令)启动安装程序,并且与单击程序&中的“更改”具有相同的效果。功能Windows对话框。

我有一种可行的方法:Install a copy of the MSI并使用它来触发安装向导。

但是,我想知道我是否可以使用注册表或其他方法找到并触发MSI安装程序向导,而不是制作安装程序的副本。这可能吗?

2 个答案:

答案 0 :(得分:2)

卸载信息存储在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<your app>,其中&lt;您的应用&gt;是名称或GUID(取决于您的安装)。在您的应用密钥下,ModifyPath值应包含修改命令 - msiexec.exe /I ...左右。

答案 1 :(得分:2)

你可以打电话给msiexec /i <ProductCode>,它会找出其余部分。您需要将产品代码存储在某个位置 - 您可以轻松地在MSI的Registry表中添加一个条目,该表使用[ProductCode]作为值。