我正在尝试在安装主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));
我已经验证了路径和所有内容,但只是在序列中被击中了。
任何帮助将不胜感激。感谢。
答案 0 :(得分:2)
Windows Installer会强制使用互斥锁来阻止您尝试执行的操作。由于您使用的是InstallShield Limited Edition,因此技术上只能使用它们提供的PRQ。但是,如果您将InstallShield Pro / Prem放在VM上,则可以使用它生成PRQ文件,然后将其带入您的Limited Edition项目。这将导致setup.exe在运行MSI之前运行MSI,从而避免使用互斥锁。
http://blog.iswix.com/2006/11/using-installshield-12-to-install-net.html