Visual Studio セットアップ プロジェクトの一部としてランダムな名前を持つ既存のディレクトリにファイルを追加する方法を探しています。誰かがこのパズルを解決するのを手伝ってくれることを願っています。
起動条件を使用して、ディレクトリの検出されたパス プロパティを取得しようとしています。残念ながら、このメソッドは、ディレクトリ プロパティとして使用できないファイル名を含む完全なファイル パスを返します。
問題のディレクトリは、ランダムなインストール文字列の形式[AppDataFolder]Company\Product\aaaaaaaaaaaa\
をとります。aaaaaaaaaaaa
Launch Condition Setup 内で、ディレクトリ内に表示されるファイルを検索して、ディレクトリの存在を確認します。
検索対象マシン
(Name): File marker
Filename: sample.txt
Folder: [AppDataFolder]Company\Product\
Property: DIRFILE
発射条件
(Name): File marker exists
Condition: DIRFILE
セットアップ プロジェクトで、挿入したいファイルを詳細とともに追加します。
Condition: DIRFILE
Folder: 'Installation folder'
次に、ファイル システムのセットアップで、ランダム ディレクトリの新しいフォルダー エントリを追加します。aaaaaaaaaaaa
(Name): Installation folder
Condition: DIRFILE
DefaultLocation: [DIRFILE]\..\ *Incorrect*
Property [DIRLOCATION]
ご覧のとおり、インストーラーはマーカー ファイルの存在を検出しますが、ファイルを同じ場所に配置する代わりに[DIRFILE]
、インストーラーを使用すると、誤ってファイルに挿入しようとします。
これは、ファイル パスが返されたためです。
[AppDataFolder]Company\Product\aaaaaaaaaaaa\sample.txt
代わりにディレクトリパスが必要です
[AppDataFolder]Company\Product\aaaaaaaaaaaa
したがって、ファイル名の文字列置換を実行してディレクトリ パスを抽出できれば、(ファイルのファイルの場所ではなく) 検索対象マシンからファイルが見つかったディレクトリを返すことができるかどうか疑問に思っていました。DIRFILE
File System Setup の DefaultLocation フィールド内のファイルの場所、またはおそらく別の方法が見つからない場合は?