我可以从我的程序启动我的 MSI 安装程序吗?
Can I launch my MSI installer from my program?
我希望用户能够通过单击 UI 上的按钮来重新配置他们的安装(打开/关闭组件)。这将使用 msiexec /i
命令(或等效命令)启动安装程序,并且与单击"程序和功能窗口"对话框中的"更改"具有相同的效果。
我有一种潜在的方法:安装 MSI 的副本并使用它来触发安装向导。
但是,我想知道我是否可以使用注册表或其他方法找到并触发 MSI 安装程序向导,而不是制作安装程序的副本。这可能吗?
卸载
信息存储在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<您的应用程序>中,其中<您的应用程序>是名称或GUID(具体取决于你的安装)。在应用的键下,ModifyPath
值应包含修改命令 - msiexec.exe /I ...
左右。您的应用程序>您的应用程序>
你可以
调用msiexec /i <ProductCode>
,它会解决其余的问题。您需要将产品代码存储在某个地方 - 您可以轻松地将一个条目添加到 MSI 的注册表表中,该条目使用 [ProductCode]
作为值。
相关文章:
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 为什么我的 IExtractIcon 处理程序没有被调用?
- 为什么我的程序在for循环中k=0时返回垃圾值
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 我的程序没有从文件中读取并输入数据
- 我的评分程序无法正常工作
- 为什么我的C++程序的程序集输出充满了 .ascii,没有汇编代码?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 我的目标是编写一个程序来计算和存储字符串在字符数组中出现的位置
- 反向功能超出了我的 cpp 程序的范围
- 我的二进制搜索程序只是关闭了
- 为什么我的程序不能显示斐波那契级数?
- 为什么我的程序在使用预留后没有加速?
- 为什么如果我添加这一行,我的程序会不断询问值
- 为什么当我输入较大的数字时,我的程序会到达文件末尾?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 为什么我的程序在 O0 和 O2 的优化级别返回不同的结果
- C++机器人程序(我的私人服务器)出现问题
- 用C++创建一个写作应用程序(我的第一个项目)(学习C++)