我正在做一个winform应用程序,需要卸载installshield安装的另一个Winform应用程序。我已经搜索了正确的方法来取消它是
Process.Start(“msiexec / x {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}”); 其中xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx表示您要卸载的应用程序的GUID。
但我不知道如何从名为GUID
text.exe
我找到了
var assembly = typeof(Program).Assembly; var attribute =(GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute),true)[0]; var id = attribute.Value;
但这会从当前的应用程序中检索GUID
。
有什么想法吗?
答案 0 :(得分:3)
该GUID是与安装程序关联的GUID(更准确地称为Package Code),您将能够从HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall中提取这些GUID,我不熟悉能够直接从应用程序中提取它。
*编辑或者,如果您有权访问WiX脚本(如果您使用WiX生成MSI),它应该是Product元素的Id属性。您也可以使用Orca等工具检查已创建的MSI的此属性。