安装后启动

Launch after installation

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

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

我认为在安装程序提交时添加输出的方法很好,但我无法让它工作,有什么想法吗?

提前致谢

这对我有用:

[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
        {
        }
    }
}

您必须为 Install 操作的 CustomActionData 定义 /dir="[TARGETDIR]\"