如何从其他设置运行安装程序?

时间:2013-05-23 08:05:12

标签: c# visual-studio-2008 command-line windows-installer

我有3个模块的解决方案。 Windows,Web和Windows服务。我想创建一个父设置,运行三个子设置包,关于用户选择。

我创建了一个安装项目,如下所示:

  • 我创建了一个包含InstallerHelper的库,该库继承自Installer class
  • 我添加了以下代码:

public override void Install(IDictionary stateSaver)
{
    base.Install(stateSaver);
    try
    {
        FileInfo fileInfo = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location);

        string sProgram = Path.Combine(fileInfo.DirectoryName, "Setup1.msi");

        Process p = Process.Start(sProgram);
        p.WaitForExit();
    }
    catch (Exception exc)
    {
        Context.LogMessage(exc.ToString());
        throw;
    }
}

问题是Windows安装程序拒绝运行多个Windows安装程序实例并抛出以下错误:

  

另一项安装正在进行中。你必须完成它   在继续这个之前安装。

我的方法是否正确?另一种方法是运行另一个设置,父设置应该等待所有这些设置,只需一个完成点击?。

1 个答案:

答案 0 :(得分:3)

您可以使用Wix Burn创建包含多个应用程序安装程序(msi / exe)的安装程序包: