我当前使用以下代码存储我的OCX文件,并在使用以下代码进行安装请求时对其进行注册:
[Files]
Source: "Myfile.ocx"; DestDir: "{localappdata}\Microsoft\Windows\Temporary Internet Files\"; \
Flags: ignoreversion regserver uninsneveruninstall noregerror
我需要知道如何在卸载后或卸载时注销/删除Myfile.ocx
?
Inno Setup卸载程序默认情况下不会卸载文件。
Inno Setup卸载程序默认情况下不会注销DLL / OCX文件,因为它们是使用regserver
flag安装的:
regserver
注册DLL / OCX文件。设置此标志后,安装程序将调用DLL / OCX文件导出的DllRegisterServer函数,卸载程序将在删除文件之前调用DllUnregisterServer。与
regserver
结合使用时,DLL / OCX文件将仅当参考计数达到零时才取消注册。
但是您要通过sharedfile
阻止它这样做:
uninsneveruninstall
请勿删除文件。当安装非常常见的共享文件(在任何情况下都不应删除)(例如MFC DLL)时,此标志很有用。
请注意,如果将此标志与
uninsneveruninstall
flag标志结合使用,则在卸载时该文件将永远不会被删除,但是引用计数仍然会适当减少。只需删除
uninsneveruninstall
标志。