【发布时间】:2015-04-07 00:02:42
【问题描述】:
以下是一个示例自定义安装程序类。
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{
public Installer1()
{
InitializeComponent();
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
// Do your magic here, call your form, do your thing...
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Rollback(IDictionary savedState)
{
// if something goes wrong, it's here you correct it and rollback the system to its previous state and undo what you already changed
base.Rollback(savedState);
}
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
// Here you undo changes when you cancel
base.Uninstall(savedState);
}
}
现在我想以这样一种方式设计我的应用程序,当用户尝试安装我的应用程序时,会出现一个对话框并要求提供凭据。如果用户无法提供正确的凭据,那么我的应用将不会安装在用户 pc 中。
如果用户在卸载过程中无法提供凭据,那么用户将无法卸载我的应用程序。
请指导我如何阻止自定义安装类的安装和卸载操作。谢谢
【问题讨论】:
-
查看this 帖子。
-
@Kurubaran:感谢您的链接,但从那里我注意到当凭据不正确时它们会抛出异常,但我不想抛出异常,而是我想显示一条消息,如“无效凭据”和阻止用户继续安装应用程序.........有可能吗?
-
用户输入无效密码会怎样?在用户输入正确的密码或回滚安装之前,您要一直停留在同一个窗口上吗?
-
如果用户输入了错误的凭据,那么我想显示一条消息并关闭安装窗口。
标签: c# windows-installer