Cra*_*g F 3 .net installer windows-services .net-4.0 visual-studio-2010
我正在使用Visual Studio 2010和.NET 4.0.我有一个从Visual Studio安装项目安装的Windows服务.在安装项目中,我将RemovePreviousVersion属性设置为True.
在包含该服务的项目中,我有一个安装程序类,用于在从先前版本升级时停止服务.
因此,在升级软件时,服务已经存在并且可能正在运行.如果它正在运行,则在安装过程中,安装程序会提示该文件已在使用中,并提供"重试","继续"或"退出安装"选项.在这个阶段,我可以手动停止服务,然后单击"重试",这将有效.但我不希望最终用户必须这样做.
我已经在整个安装程序类BeforeInstall,BeforeUninstall(安装程序事件),安装,卸载,提交,回滚(重写方法)中放置了消息框,因此我可以看到在安装过程中何时调用它们.
运行安装时,会在任何安装程序类代码之前显示该文件正在使用的提示.一旦我停止服务并再次单击"尝试"将继续,将显示安装类中的消息框.所以安装程序类肯定被称为在实际执行任何操作的过程中为时已晚.
我不认为这是早期版本的.NET中的行为?
有没有人遇到过这个问题或有任何建议?
如果需要,我可以尝试Visual Studio 2010附带的InstallShiled LE项目(不确定是否会产生相同的结果)但是如果可能的话,我更愿意看看是否有人知道Visual Studio安装项目的解决方案.
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |