我尝试在安装主 Windows 安装程序文件之前安装自定义 exe 文件。
我正在使用Install Sheild 限量版。配置完所有内容后,我在自定义操作的“注册产品阶段后”对静默安装程序文件进行了排序,它给了我错误 1618(这是另一个安装正在进行中。)我发现主安装程序正在进行中,因此不允许静默安装程序 .msi 进行安装,但不知道如何解决此错误。
但问题是我选择源位置作为“目标计算机上存在文件”,并将文件位置选择为“INSTALLDIR”。
执行此操作后,我收到错误 1618。
谁能帮我解决这个问题吗?
SilentInstaller.exe文件内的代码如下:
Process processObj = Process.Start("msiexec.exe", @"/i "folderpath\SqlLocalDB.msi" /qn IACCEPTSQLLOCALDBLICENSETERMS=YES");
//Loop until the process has exited
do
{
//refresh the process
processObj.Refresh();
} while (!processObj.WaitForExit(1000));
我已经验证了路径和所有内容,但仅在序列中被击中。
任何帮助将不胜感激。谢谢。
最佳答案
Windows Installer 强制执行互斥锁,阻止您尝试执行的操作。由于您使用的是 InstallShield Limited Edition,从技术上讲您只能使用他们提供的 PRQ。但是,如果您将 InstallShield Pro/Prem 放在虚拟机上,您可以使用它生成 PRQ 文件,然后将其引入您的限量版项目中。这将导致 setup.exe 在运行您的 MSI 之前运行 MSI,从而避免互斥体。
http://blog.iswix.com/2006/11/using-installshield-12-to-install-net.html
关于visual-studio-2015 - 如何在自定义操作序列中安装主应用程序之前对静默安装程序 .exe 文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45710747/