安装后启动
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]\"
。
我有一个自动更新应用程序,当有新的更新时,我通过 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]\"
。