1

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

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

  • 我创建了一个包含从Installer类继承的 InstallerHelper 的库
  • 我添加了以下代码:

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 安装程序的多个实例并抛出以下错误:

另一个安装正在进行中。在继续此安装之前,您必须完成该安装。

我的方法正确吗?是否有另一种方式来运行另一个设置,并且父设置应该通过单击完成来等待所有这些设置?

4

1 回答 1

3

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

于 2013-05-23T10:01:04.030 回答