使用C#以编程方式卸载程序

问题描述 投票:1回答:3

[我们之前发布了应用程序<application name>。后来发布了该应用程序的新版本,但具有不同的应用程序名称<company name> <application name>。但是这两个应用程序都将文件放在同一程序文件夹中。但是我们在卸载程序中列出了两个不同的版本。

现在,我们要发布更新的版本。我们想从用户的PC上卸载第一个版本。我如何使用C#实现这一目标。我们正在使用Windows 7 64位(应用程序是32位并安装在x86文件夹中)。

我没有应用程序设置,也没有应用程序密钥

c# uninstall
3个回答
1
投票

如果您有安装程序项目,则可以在安装程序属性中指定。


1
投票

[如果您的应用程序无法检测到它的早期版本(不同的名称),那么您可能应该从这2个应用程序干扰的地方删除数据。您可以使用File.Delete();来执行此操作,但是如果这些文件位于应用程序没有权限的位置,则应通过添加清单文件并替换该行来强制其以Admin身份运行。


0
投票

看看COM WindowsInstaller类。您将需要添加对WindowsInstaller类的引用才能访问它。您可以从此处浏览MSI并根据需要对其执行操作。我在发布后的版本中使用它来修改存档,以修复Visual Studio的未记录功能。

© www.soinside.com 2019 - 2024. All rights reserved.