在使用Inno Setup请求卸载后,如何注销OCX并删除它?

问题描述 投票:0回答:1

我当前使用以下代码存储我的OCX文件,并在使用以下代码进行安装请求时对其进行注册:

[Files]
Source: "Myfile.ocx"; DestDir: "{localappdata}\Microsoft\Windows\Temporary Internet Files\"; \
    Flags: ignoreversion regserver uninsneveruninstall noregerror 

我需要知道如何在卸载后或卸载时注销/删除Myfile.ocx

inno-setup ocx
1个回答
1
投票

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标志。

© www.soinside.com 2019 - 2024. All rights reserved.