我有一个自动更新应用程序,当有新的更新时,我通过ftp下载installer.msi,我静默安装它并关闭应用程序,我想知道如何在安装后重启应用程序很成功。
我找到了一些关于它的主题,但似乎没有任何作用,因为不同的错误(坏包,错误1001等)。
我认为在安装程序提交时添加输出的方法是好的,但我无法使其工作,任何想法?
提前致谢
答案 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}}。