我有一个使用Visual Studio 2008中的Windows Installer项目创建的MSI。
它安装了使用VB6构建的COM dll,并将它们打包在构建服务器上。
我们使用管理员帐户在多台服务器上安装它。当其他管理员登录到服务器并从包中启动程序时,我们会在屏幕上显示一个对话框几分钟。
它说“请等待Windows配置我们的应用程序”。
我运行SysInternals ProcMon来查看它正在做什么,并且msiexec.exe正在安装中的(dll,exe,data)中的每个文件。
正在做什么以及如何阻止此行为?我们的一些帐户是非交互式的,这会导致问题,因为我们在作为服务运行时看不到对话框!
答案 0 :(得分:1)
我们遇到了这个问题,它是通过删除在安装过程中创建的快捷方式中的Advertise属性来解决的。
这可能是你的问题......
答案 1 :(得分:1)
为什么还在使用VS内置的Windows Installer?我最后一次使用该工具是在2004年。
他们彻头彻尾的吮吸,我说是因为其他的话在SO上得不好。
自2004年以来,我一直在使用一个名为Innosetup的古怪但高效的应用程序,它可以做得那么好!如果您担心让.Net Framework能够采取行动,那么这里是how to work with .net on innosetup.
如果您需要帮助,请告诉我。
答案 2 :(得分:0)
我一直在和同样的问题摔跤很长一段时间。有人向我建议你的程序可执行文件和任何被引用的dll必须安装到同一个文件夹中。 exe将在其根文件夹或任何子文件夹中查找程序集。我尝试进行此更改(将它们放在同一个文件夹中),但它对我没有帮助。试试吧......