3

アプリをアンインストールしたときに、.iss に 2 つの dll をインポートしたいと考えています。これを行う方法が見つかりません。

procedure Installed();
external 'Installed@files:StatisticInstallInfo.dll,adcore.dll cdecl  setuponly ';

procedure Uninstalled();
external 'Uninstalled@{app}\StatisticInstallInfo.dll cdecl  uninstallonly';

輸入adcore.dll手続きUninstalledもお願いします。そして、以下に示すように失敗しました。

[Files]
Source: {#MyDefaultPackDir}\adcore.dll; DestDir: "{app}"
Source: {#MyDefaultPackDir}\StatisticInstallInfo.dll; DestDir: "{app}"
[Code]
procedure Uninstalled();
external 'Uninstalled@files:StatisticInstallInfo.dll,adcore.dll cdecl  uninstallonly';

それは動作しません。

Installed()Uninstalled()StatisticInstallInfo.dll依存しadcore.dllます。

4

1 に答える 1

6

files:file1.dll,file2.dllインストーラーの実行中、Inno はセットアップのコンテンツにアクセスできるため、構文を使用して必要なファイルを抽出できます。

アンインストール時には、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、両方のケースで使用することができます。

于 2012-09-25T12:24:08.687 に答える