どのように関係なく、ターゲットマシンのアーキテクチャのプログラムファイルのパスを取得します

StackOverflow https://stackoverflow.com/questions/2284725

質問

私はC#/。NETでプログラミングしています。私は関係なく、ターゲットマシンのアーキテクチャが何であるかをターゲットマシンからProgram Filesディレクトリを返さないことができるようにしたいです。明確にするために、私はそれは、Windowsの彼らのバージョンをbit化するものC (or whatever drive the OS is on):/Program Files関係なくを返したいです。

私はCにインストールされていないユーザーがWindowsを実行していた場合を除き、ディレクトリ内にハードコーディングすることもできます。それは働かないドライブ

私が見つけた。

FileInfo(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) 

私はそれが64ビットWindowsマシン上でProgram Files (x86)フォルダを返すと考えています。

役に立ちましたか?

解決

コードは、ターゲットのx86にビルドがある場合を除き、私はそれがあなたのために働くだろうと思いますので、

System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles)戻ると、それは"c:\Program Files"を返した場合には、64ビットマシン上で"C:\Program Files (x86)"ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top