我正在尝试在VS17安装程序项目中为一堆其他.EXE文件(其他安装程序的简单设置)创建一个.MSI安装程序。 主要思想是使用我的项目来安装大约5个不同的程序,一个接一个。我想强调一下,EXE不是解决方案的一部分(例如,其中之一是我从互联网上下载的 Notepad ++ 的安装程序)。
我将所有.EXEs文件加载到“自定义”操作的“提交”部分。当我的安装程序运行时,请确保将所有.EXE文件放置在正确的位置,但是当第一个文件被用完时,到了我收到以下消息的地步:
“另一个安装正在运行”
(指的是我自己的安装程序)。 我别无选择,只能关闭此窗口并保留当前安装,然后我自己的安装程序失败:
“ ..作为安装程序一部分运行的程序未按预期完成...”
结果是一种僵局...最终,我不得不取消并且无法安装任何东西。
我知道Windows不能同时运行一个安装程序。....MSI安装程序完成后,我该怎么做才能一顿午餐所有.EXE文件?
答案 0 :(得分:0)
我找到了适合我的解决方案, Windows安装程序不会同时运行一个安装过程,因此,我要做的是:
方法A(最快):我在“自定义操作”的“提交”部分中使用了.vb文件,并用它来运行我的设置。
方法B(更好):覆盖Install类中的Commit方法,并从那里调用我的所有设置(通过一个批处理文件)。为了使其在安装后运行,我必须在“所有自定义操作”部分(安装,提交,回滚和卸载-而不是仅在“提交”部分)设置项目的主要输出。
工作得很好。 在这种情况下,所有设置都与主安装分开运行,因此主安装程序会通知用户安装已结束,然后再启动所有设置。