Inno Setupは使いやすいインストーラーです。このstackoverflow questionで高く評価されています。サード パーティ アプリケーションのインストール フォルダーに関連するフォルダーにプラグインをインストールする必要があります。これを行う方法はドキュメントから明らかではありません。
3790 次
1 に答える
6
レジストリ エントリを使用してオプションでファイルをインストールする方法の答えは、ドキュメントとサンプル コードにありますが、明確ではない可能性があるため、例として Adobe Premiere プラグインを使用したスクリプト スニペットの例を次に示します。
主な手順は次のとおりです。
1) Check: パラメータを使用する
2) RegQueryStringValue を呼び出す関数を記述し、パスを解析して相対的なプラグイン フォルダーの宛先を構築します。
3) {code:} を使用して関数を呼び出し、宛先フォルダーを返します。
//
// Copy my plugin file to the Premiere Plugin folder, but only if Premiere is installed.
//
[Files]
Source: "C:\sourceFiles\myplugin.prm"; Check: GetPremierePluginDestination; DestDir: "{code:PluginDestination}"; Flags: ignoreversion overwritereadonly
[Code]
var sPluginDest : String;
//
// Search for the path where Premiere Pro was installed. Return true if path found.
// Set variable to plugin folder
//
function GetPremierePluginDestination(): Boolean;
var
i: Integer;
len: Integer;
begin
sPluginDest := '';
RegQueryStringValue( HKLM, 'SOFTWARE\Adobe\Premiere Pro\CurrentVersion', 'Plug-InsDir', sPluginDest );
len := Length(sPluginDest);
if len > 0 then
begin
i := len;
while sPluginDest[i] <> '\' do
begin
i := i-1;
end;
i := i+1;
Delete(sPluginDest, i, Len-i+1);
Insert('Common', sPluginDest, i);
end;
Result := len > 0;
end;
//
// Use this function to return path to install plugin
//
function PluginDestination(Param: String) : String;
begin
Result := sPluginDest;
end;
私は Pascal プログラマーではないので、GetPremiereDestination をより効率的にするための提案は大歓迎です。
于 2008-09-23T18:32:38.110 に答える