16

Inno-Setupバージョン5.5.3(a)を使用しています。

[Files]
Source: "C:\GPT\GPT.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\GPT\GPT.dat"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

「GPT.dat」ファイルを「GPT」というカスタムフォルダーのユーザーのAppDataフォルダーにインストールしたい

例:AppData \ GPT \

たとえば、私のデルファイコードでは、ユーザーのAppDataパスに「GPT」というフォルダーを作成します。これらは私がファイルを置きたいところです

var
  path: array[0..MAX_PATH] of char;

 SHGetFolderPath(0, CSIDL_APPDATA, 0, SHGFP_TYPE_CURRENT, @path);
 userPath:= Path;
 UserPath:= UserPath + '\GPT\';
 if not DirectoryExists(UserPath) then
   CreateDir(UserPath);

これを実現するために、Innoスクリプトの[ファイル]セクションを編集する方法を教えてもらえますか?

ありがとう

4

3 に答える 3

24

ファイルの宛先ディレクトリとして、アイテム ID{userappdata}だけにマップされる定数を使用する必要があります。CSIDL_APPDATA

[Files]
Source: "C:\GPT\GPT.dat"; DestDir: "{userappdata}\GPT\"; Flags: ignoreversion createallsubdirs recursesubdirs comparetimestamp

{userappdata} & {commonappdata} アプリケーション データ フォルダーへのパス。

 CSIDL_APPDATA = {userappdata} = C:\Documents and Settings\username\Application Data
 CSIDL_COMMON_APPDATA = {commonappdata} = C:\Documents and Settings\All Users\Application Data
于 2013-03-14T13:42:38.450 に答える