安装后启动

时间:2015-02-03 11:41:40

标签: c# windows-installer installer restart

我有一个自动更新应用程序,当有新的更新时,我通过ftp下载installer.msi,我静默安装它并关闭应用程序,我想知道如何在安装后重启应用程序很成功。

我找到了一些关于它的主题,但似乎没有任何作用,因为不同的错误(坏包,错误1001等)。

我认为在安装程序提交时添加输出的方法是好的,但我无法使其工作,任何想法?

提前致谢

1 个答案:

答案 0 :(得分:1)

这对我有用:

[RunInstaller(true)]
public partial class Installer1 : Installer
{
    public Installer1()
    {
        InitializeComponent();
    }

    public override void Install(IDictionary savedState)
    {
        savedState.Add("InstallDir", Context.Parameters["dir"]);
        base.Install(savedState);
    }

    public override void Commit(IDictionary savedState)
    {
        base.Commit(savedState);
        Start(savedState);
    }

    private void Start(IDictionary savedState)
    {
        try
        {
            string DirPath = (string)savedState["InstallDir"];
            if (!string.IsNullOrEmpty(DirPath))
            {
                Process.Start(DirPath + @"\WindowsFormsApplication1.exe");
            }
        }
        catch
        {
        }
    }
}

您必须为/dir="[TARGETDIR]\" CustomActionData行动Install定义{{1}}。