读书人

用.net打包的安装程序怎么判断点击了

发布时间: 2013-01-18 10:22:42 作者: rapoo

用.net打包的安装程序,如何判断点击了取消安装
情况是这样的:
我在安装的时候加了创建数据库和创建用户,这两个界面是自己加的另外弹出来的,如果在这两个界面弹出来的情况下,点击另外一个系统默认的安装进度的取消按钮达不到效果,也不会取消,界面又不会关闭,就死在那
[解决办法]
太深奥了,没弄过。学习中‘、用.net打包的安装程序,怎么判断点击了取消安装
[解决办法]
用.net打包的安装程序,怎么判断点击了取消安装
估计要在安装的那个程序里面判断了吧,c#代码中不太好做
[解决办法]

在安装按钮旁放个取消按钮,安装程序用线程,取消按钮可以将这个线程杀死
[解决办法]
创建Installer1.cs 文件,在里面把所有事件继承一次,然后把这个文件添加到打包工程中,在打包工程[用户界面编辑器]中,自己添加一个带有按钮的窗体,然后在Installer1.cs文件中访问那个按钮被按下就可以了
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Rollback(IDictionary savedState)
{
base.Rollback(savedState);
MessageBox.Show("Rollback");
}

[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
MessageBox.Show("Rollback");
}

protected override void OnAfterInstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
MessageBox.Show("OnAfterInstall");
}

protected override void OnAfterRollback(IDictionary savedState)
{
base.OnAfterRollback(savedState);
MessageBox.Show("OnAfterRollback");
}

protected override void OnAfterUninstall(IDictionary savedState)
{
base.OnAfterUninstall(savedState);


MessageBox.Show("OnAfterUninstall");
}

protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
MessageBox.Show("OnBeforeInstall");
}

protected override void OnBeforeRollback(IDictionary savedState)
{
base.OnBeforeRollback(savedState);
MessageBox.Show("OnBeforeRollback");
}

protected override void OnBeforeUninstall(IDictionary savedState)
{
base.OnBeforeUninstall(savedState);
MessageBox.Show("OnBeforeUninstall");
}

protected override void OnCommitted(IDictionary savedState)
{
base.OnCommitted(savedState);
MessageBox.Show("OnCommitted");
}

protected override void OnCommitting(IDictionary savedState)
{
base.OnCommitting(savedState);
MessageBox.Show("OnCommitting");
}

public void OutPutLog(string strMsg)
{
}


[解决办法]
可以利用win32的api,在设置数据库的时候,把系统默认安装的界面隐藏掉,这样应该可以解决问题吧,但是具体做法不知道诶。。。

读书人网 >C#

热点推荐