3

私はアプリを持っていて、そのインストーラーに取り組んでいます。インストールで標高を必要とせず、アプリケーション自体で標高を必要としないようにし、アプリケーションのアップデーター(組み込み)で標高を必要としないようにしたい場合、アプリケーションをどこにインストールする必要がありますか?

警告:

  1. このアプリケーションは署名されていません。
  2. 各ユーザーが自分のプロファイルの下に個別にインストールする必要がある場合は問題ありません。
  3. インストールでレジストリを使用して同じ目標を達成できますか?
  4. それが行う唯一の書き込みは、設定/構成ファイルへの書き込みです。
  5. .NET4アプリ。
4

2 に答える 2

3

SHGetFolderPath(CSIDL_LOCAL_APPDATA)一般的な選択は、 (Win2K 以降) またはSHGetKnownFolderPath(FOLDERID_LocalAppData)(Vista以降)によって返されるローカルの appdata フォルダーです。

この返されたパスは次のようなものです。

  • "C:\Users\arx\AppData\Local" (Vista 以降)
  • "C:\Documents and Settings\arx\Local Settings\Application Data" (Vista より前)

ここに会社名とアプリケーションのフォルダを作成するのが通常なので、次のようなパスで終了します。

"C:\Users\arx\AppData\Local\BlahSoft\BlahApplication"

アップデート

.Net からこのパスが必要な場合は、Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

于 2011-12-30T18:07:46.783 に答える
2

あなたの質問はWIXと.NETの両方にタグ付けされています。この2つは、既知のフォルダーパスの構文が異なります。現在のユーザーアプリケーションフォルダーを取得するための.NETコマンドはEnvironment.GetFolderPath(Environment.SpecialFolder.Programs)

WIXパスにインストールする場合は、既知のフォルダーごとに事前定義されたプロパティがあります。[ProgramFilesFolder]は32ビットアプリケーションフォルダにあり、[ProgramFiles64Folder]は64ビットフォルダにあります。

于 2012-01-03T16:49:39.257 に答える