相关疑难解决方法(0)

如何找到已安装的MSI设置的产品GUID?

我需要找到产品GUID对于安装MSI文件,以进行维护,如补丁,卸载,也为审计目的.

powershell install windows-installer wix uninstall

58
推荐指数
1
解决办法
18万
查看次数

在不使用msiexec的情况下从命令行卸载MSI文件

msiexec是安装MSI程序的命令提示符软件.但我发现只需在命令行输入MSI文件的名称,就可以从命令行安装MSI文件.

但是为了卸载MSI文件,你似乎必须调用该msiexec程序并给它一个/x/uninstall.

如何在不使用msiexec例程的情况下从命令行卸载MSI ?

.net installation command-line windows-installer msiexec

54
推荐指数
3
解决办法
25万
查看次数

在WiX中,ProductCode指定在哪里?

我正在使用WiX创建安装程序,并且为了从命令行卸载我的应用程序(使用MsiExec.exe /X{...}),我需要知道我的.msi文件的ProductCode.

当我安装我的应用程序时,我可以看到ProductCode安装日志文件中列出了该应用程序.但是,显示的GUID在我的WiX文件中没有任何功能.它似乎也在我的安装程序的构建之间发生变化.

我可以ProductCode在我的WiX .wsx文件中指定某处吗?如果是的话,在哪里?

wix

18
推荐指数
1
解决办法
7003
查看次数

WiX - 在多实例安装上进行重大升级

所以,我有一个Windows服务,可以在一台服务器上安装多个实例.安装程序需要能够升级单个实例.安装程序使用Instance Transforms,但我不确定如何按照我的意愿进行主要升级.

为了进行重大升级,我的理解是我应该更改产品代码,因此实例以这种形式定义:

<Instance ProductCode="*"
            UpgradeCode="{SOMEGUID}"
            ProductName="Instance 1"
            Id="Instance1"/>
Run Code Online (Sandbox Code Playgroud)

可以启动msi以通过以下方式安装新实例:

msiexec.exe /i "installer.msi" TRANSFORMS=:Instance1 MSINEWINSTANCE=1
Run Code Online (Sandbox Code Playgroud)

但是,经过多次搜索后,我发现在特定实例上运行升级的唯一方法是这种格式:

msiexec.exe /i "installer.msi" /n {PRODUCTCODE} REINSTALL=ALL REINSTALLMODE=vamus
Run Code Online (Sandbox Code Playgroud)

这个问题是如果产品代码是自动生成主要升级,那么我不知道它是什么,所以我不能传递给命令参数.

有没有办法使用Instance的UpgradeCode或InstanceID或ProductCode启动升级?因为这两者都会保持静止.或者,我可以在没有参数的情况下启动msi,在UI对话框中选择现有实例(通过检查注册表),并设置适当的属性以强制msi进入该实例的升级模式吗?

installer windows-installer wix multiple-instances

5
推荐指数
2
解决办法
5252
查看次数