从webform停止Windows安装程序

时间:2014-09-19 09:00:02

标签: c# .net winforms installer windows-installer

我的Windows服务器有一个Windows安装程序,它会在安装方法上打开一个窗口表单。表单上有一个取消按钮,隐藏表单。在同一次点击中,我想停止安装并在安装中断时显示一条消息。

安装代码

public override void Install(IDictionary stateSaver)
        {
            base.Install(stateSaver);

                Form databaseSettings = new DatabaseSettings(this,stateSaver);
                databaseSettings.BringToFront();
                databaseSettings.TopMost = true;
                databaseSettings.ShowDialog(); 

        }

取消按钮的代码是

 private void btnDone_Click(object sender, EventArgs e)
        {
 this.Close();
}

请让我知道锄头这样做。将优先使用示例代码。

1 个答案:

答案 0 :(得分:0)

这似乎是一个Visual Studio自定义操作,因此您使用包含错误消息的ctor抛出InstallException,安装将回滚。

http://msdn.microsoft.com/en-us/library/system.configuration.install.installexception(v=vs.110).aspx

安装所有文件后安装自定义操作,这就是它回滚和卸载所有文件的原因。此外,VS自定义操作在您不应显示UI的执行序列中运行,任何想要静默安装的人都将失去运气。收集用户输入的正确位置在前面的UI序列中,如果固定的VS对话框不合适,您应该查看使用另一个工具,它允许您在UI序列中创建对话框并在安装开始之前验证它们等。