我想在卸载应用程序时在我的.iss中导入两个dll。我找不到办法做到这一点。 帮助〜
procedure Installed();
external 'Installed@files:StatisticInstallInfo.dll,adcore.dll cdecl setuponly ';
procedure Uninstalled();
external 'Uninstalled@{app}\StatisticInstallInfo.dll cdecl uninstallonly';
我想在程序中导入adcore.dll也卸载了。它失败了,如下所示;
[Files]
Source: {#MyDefaultPackDir}\adcore.dll; DestDir: "{app}"; Flags: ignoreversion
Source: {#MyDefaultPackDir}\StatisticInstallInfo.dll; DestDir: "{app}"; Flags: ignoreversion
[Code]
procedure Uninstalled();
external 'Uninstalled@files:StatisticInstallInfo.dll,adcore.dll cdecl uninstallonly';
它不起作用。
答案 0 :(得分:4)
当安装程序运行时,Inno可以访问设置的内容,因此可以使用files:file1.dll,file2.dll
语法提取所需的任何文件。
在卸载时,Inno不再能够访问设置的内容,因此它需要依赖您在安装时使用普通[Files]
条目提取的任何内容。因此,它不再关心依赖关系,而是由你决定。
[Files]
Source: "StatisticInstallInfo.dll"; DestDir: "{app}"
Source: "adcore.dll"; DestDir: "{app}"
[Code]
procedure Installed();
external 'Installed@files:StatisticInstallInfo.dll,adcore.dll cdecl setuponly';
procedure Uninstalled();
external 'Uninstalled@{app}\StatisticInstallInfo.dll cdecl uninstallonly';
根据您调用该功能的时间(如果在安装后),您可以废弃files:...
语法,并在两种情况下都使用{app}\StatisticInstallInfo.dll
。