安装后立即自动启动应用程序非常棘手。如果你谷歌问题,那里的建议是多种多样的,但大多数不满意。
我们正在使用内置的设置和放大器Visual Studio中的部署项目。
那么,怎么做呢?
什么行不通: 建议的最简单的解决方案是将您的应用程序添加为自定义操作(在提交时)。 InstallerClass属性必须设置为false。当然,这会在安装过程中激活您的应用程序,但安装程序会在您的应用程序运行时暂停。一点也不好。
什么样的作品(不是在Vista / Win7中?): 一个想法here通过要求.vbs关闭您的应用来解决上述问题。这实际上适用于某些环境。但看起来很笨重。
我们可能需要做什么: 更复杂的建议似乎涉及构建我们自己的InstallerClass。一些有用的代码示例,但没有一个说明InstallerClass如何以及在哪里适合我们的sln。它是否被编译到现有项目.exe或.dll中,或者是否需要自己的独立项目,或者是否进入安装项目。或完全不同的东西?
我们现阶段不想尝试: 转移到另一个安装程序Inno,Wix等
答案 0 :(得分:1)
找到这个sister question,得到7票,基本上指向this CodeProject sample。 CodeProject的答案详细描述了(包括C#和VB),并且有截图,如何实现InstallerClass。
我们有一个比样本更复杂的.sln,但我们将InstallerClass插入到子项目最合乎逻辑的位置,并且工作正常。
此外,发现有必要从setup.exe而不是.msi运行安装,以确保在Vista / 7中使用正确的权限运行。