個別のアンインストーラーが必要な場合は、個別のインストーラーを作成する必要があります。原則として、アプリケーションごとに個別のインストーラーを作成する必要があります。
つまり、個別のアプリケーション間で共有される dll や実行可能ファイルなどの共有ファイルをいくつでも持つことができます。
Windows には、参照カウントを使用して、共有ファイルを追跡するための適切に定義された手順があります。参照カウントは、インストーラーによって増分され、アンインストーラーによって減分されます。アンインストール中に参照カウントが 0 に達した場合にのみ、ファイルはシステムから削除されます。
sharedfile
フラグを使用して、ファイルが共有されていることをインストーラーに指示します。次の例では、MyLib.dll ファイルが共有されています。
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "MyLib.dll"; DestDir: "{sys}"; Flags: sharedfile
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
ドキュメントから(強調鉱山):
共有ファイル
ファイルが複数のアプリケーション間で共有され、他のアプリケーションがそのファイルを使用していない場合にのみ、アンインストール時に削除する必要があることを指定します。.OCX、.BPL、および .DPL ファイルを含む、Windows システム ディレクトリにインストールされるほとんどのファイルは、このフラグを使用する必要があります。
Windows の標準共有ファイル参照カウント メカニズム (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs の下のレジストリにあります) を使用して、ファイルに依存するアプリケーションの数を追跡します。ファイルがインストールされるたびに、ファイルの参照カウントがインクリメントされます。(これは、インストーラーが実際にディスク上のファイルを置き換えるかどうかに関係なく発生します。) ファイルを使用するアプリケーションがアンインストールされると、参照カウントが減少します。カウントがゼロになると、ファイルは削除されます (uninsnosharedfileprompt
フラグも指定されていない限り、ユーザーの確認が必要です)。