在C#应用程序中提供“取消安装”选项

时间:2015-01-06 22:35:17

标签: c# visual-studio-2010 visual-studio setup-project setup-deployment

我有一个C#win表单应用程序,用于验证许可证文件。我在安装产品之初运行该应用程序,如下所述:http://support.microsoft.com/KB/827018

如果许可证无效,我想提供退出安装或取消安装的选项。如何从我的应用程序中取消安装?或者您有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Visual Studio安装程序不允许您在安装的UI部分中运行代码,因此您无法在UI中验证许可证。

此外,Visual Studio自定义操作中没有“安装前”,因为它们都是在安装文件后运行的。您可以编写自定义操作来验证PIDKEY属性(这就是它的名称)。如果你失败了,那么抛出一个InstallException,整个安装将回滚并卸载,但这是一个糟糕的不友好的用户体验。

所以没有好的答案。使用VS设置的人可以让应用程序验证许可证密钥,如果不正确则拒绝运行。另一种方法是弄清楚如何使用像Orca这样的MSI文件编辑器来手动添加一个vbscript自定义操作,该操作将在单击Next按钮时运行,并且如果它无效则禁止下一个对话框,这非常复杂。