我可以绕过 Visual Studio 安装项目中的卸载吗?
Can I bypass uninstall in a Visual Studio Setup Project?
我有一个 Visual Studio 安装项目,在卸载步骤上有一个自定义操作。
该自定义操作将只显示一个 window,用户可以在其中输入一些凭据。如果凭据正确,我想卸载该应用程序。否则,我想保持安装该应用程序(绕过卸载程序)。
我像 this 文章中那样创建了自定义安装程序 class。
适合我需要的代码如下:
public override void Uninstall(IDictionary savedState)
{
var window = new CredentialManager();
if(window.ShowDialog() == DialogResult.OK)
{
base.Uninstall(savedState);
}
}
CredentialManager 是我用来从用户那里获取凭据并确定它们是否正确的表单。
我希望只有在条件得到验证时才卸载该应用程序,但它无论如何都会卸载该应用程序!即使我将 Uninstall 方法留空,它仍然会卸载该应用程序。
你知道实现我想要的方法吗?
恭敬地感谢您。
我终于在想取消卸载步骤时抛出异常完成了。这是一个有效的解决方案,因为它允许我向用户提供错误消息并回滚卸载过程。
我有一个 Visual Studio 安装项目,在卸载步骤上有一个自定义操作。
该自定义操作将只显示一个 window,用户可以在其中输入一些凭据。如果凭据正确,我想卸载该应用程序。否则,我想保持安装该应用程序(绕过卸载程序)。
我像 this 文章中那样创建了自定义安装程序 class。
适合我需要的代码如下:
public override void Uninstall(IDictionary savedState)
{
var window = new CredentialManager();
if(window.ShowDialog() == DialogResult.OK)
{
base.Uninstall(savedState);
}
}
CredentialManager 是我用来从用户那里获取凭据并确定它们是否正确的表单。
我希望只有在条件得到验证时才卸载该应用程序,但它无论如何都会卸载该应用程序!即使我将 Uninstall 方法留空,它仍然会卸载该应用程序。
你知道实现我想要的方法吗?
恭敬地感谢您。
我终于在想取消卸载步骤时抛出异常完成了。这是一个有效的解决方案,因为它允许我向用户提供错误消息并回滚卸载过程。