安装程序卸载时删除事件日志

时间:2012-01-19 06:39:27

标签: c#

我创建了一个Windows服务,在服务开始时在内部创建自定义事件日志。事件日志的创建工作完美但当我想卸载服务时,我无法从系统中删除自定义事件日志。

任何机构都可以对此提出任何建议或帮助,

提前致谢

1 个答案:

答案 0 :(得分:3)

如果您正在使用安装项目,则可以非常轻松地对安装项目执行自定义操作。

我在

之前自己回答了这个问题

https://stackoverflow.com/a/5039079/28004

您只需跟进this blog post,如果您有任何其他问题,请告诉我,因为我在我的2个项目中使用此技术...

这是我强调的 2种方法

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

    // your code here

    // to simple test if it runs:
    MessageBox.Show("Everything OK!", "After Install", MessageBoxButtons.OK);
}

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

    // your code here

    // to simple test if it runs:
    MessageBox.Show("Everything OK!", "After Uninstall", MessageBoxButtons.OK);
}

总结一个继承Installer并设置RunInstaller属性的新类,如:

[RunInstaller(true)]
public partial class YourInstaller : System.Configuration.Install.Installer
{
    // code above here
}

将输出添加到您的设置项目Primary Output of YourInstaller (Active)

在安装项目的自定义操作面板中

添加两个操作

enter image description here

然后,创建安装程序并安装它,在安装结束时,您将获得消息框,以及卸载时。