inno-setup – 使用Inno Setup更新Windows资源管理器外壳扩展
我有一个程序产品,另外安装
Shell扩展到
Windows资源管理器.它是在C#中创建的,并使用.NET Framework v4.0.在安装过程中,使用regasm.exe安装Shell扩展.一切正常,直到我想安装更新版本的应用程序.问题是我无法更新shell扩展DLL,因为它加载到资源管理器的内存中.安装Inno Setup之前显示以下消息
它说安装程序需要终止Windows资源管理器,因为它使用应由安装程序更新的文件. 其实我不想强制用户关机资源管理器.但我不知道如何从资源管理器的内存中卸载托管的shell DLL.如果通过regasm.exe dll卸载它仍然保留在内存中.事实上,我甚至找不到这种检查发生的地方,因为我收到了已经安装的来源. Inno安装程序的文件使用(IssProc.dll)加载项没有帮助,因为一旦我通过此加载项终止Windows资源管理器,资源管理器立即重新启动. 我怎么能解决这个问题?如何以更好的用户体验更新shell扩展dll? O和BTW我使用的是Windows 7 x64. 解决方法
在文件入口处使用
restartreplace 标志.来自参考:
因此,使用此标志不会导致向导要求使用该文件终止应用程序,而是将文件更新安排到下次重新启动并提示用户在安装结束时重新启动计算机,我认为用户友好且常用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |