Inno setup Inno安装程序-在安装过程中注销共享DLL
另见: 在Inno安装脚本的[Files]部分,我有一行:Inno setup Inno安装程序-在安装过程中注销共享DLL,inno-setup,Inno Setup,另见: 在Inno安装脚本的[Files]部分,我有一行: Source: {#InstallSource}\OldDll.dll; DestDir: {sys}; Flags: sharedfile regserver 应用程序的更新版本不再使用此DLL。在安装新版本时,我想做的是减少此DLL的共享文件锁计数,如果为零,则取消注册并删除它 最简单的方法是告诉用户在更新之前卸载应用程序的早期版本,但这意味着各种配置设置也将被删除,用户必须手动重新输入。是否可以自动执行DLL注销/删除过程?
Source: {#InstallSource}\OldDll.dll; DestDir: {sys}; Flags: sharedfile regserver
应用程序的更新版本不再使用此DLL。在安装新版本时,我想做的是减少此DLL的共享文件锁计数,如果为零,则取消注册并删除它
最简单的方法是告诉用户在更新之前卸载应用程序的早期版本,但这意味着各种配置设置也将被删除,用户必须手动重新输入。是否可以自动执行DLL注销/删除过程?而您可以执行此操作以注销和卸载DLL:
- 呼叫李>
- 如果返回true,则使用注销共享DLL并使用删除它
因此,最终唯一真正正确的解决方案是在安装程序开始时运行卸载程序 看 只有在共享文件仍然存在时,才能有条件地执行此操作
但是,结果发现您并不需要卸载新版本的安装程序所共享的DLL。您只担心当新安装程序不再安装共享DLL时,其卸载程序也不会正确卸载它。但它会的,正是因为第一节提到的原因