我有一个包含 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 安装程序的多个实例并抛出以下错误:
另一个安装正在进行中。在继续此安装之前,您必须完成该安装。
我的方法正确吗?是否有另一种方式来运行另一个设置,并且父设置应该通过单击完成来等待所有这些设置?