从已安装的应用程序获取GUID c#

时间:2014-01-22 18:41:27

标签: c# winforms guid

我正在做一个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

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

该GUID是与安装程序关联的GUID(更准确地称为Package Code),您将能够从HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall中提取这些GUID,我不熟悉能够直接从应用程序中提取它。

*编辑或者,如果您有权访问WiX脚本(如果您使用WiX生成MSI),它应该是Product元素的Id属性。您也可以使用Orca等工具检查已创建的MSI的此属性。