3

64 ビット アプリケーションを "Program Files (x64)" に配置し、32 ビット アプリケーションを "Program Files" で実行する方が理にかなっているでしょうか?

Flexコンパイラを実行する必要があるバッチ ファイルがあります。x64 では、そのプログラムは「Program Files (x86)」にあります。Windows Vista 32 ビットでは、「Program Files」にあります - 環境変数ですか? それを確認してください:

ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86) 

私は何をしますか?


set mxmlc="%ProgramFiles(x86)%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe"
if NOT EXIST %mxmlc% set mxmlc="%ProgramFiles%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe"

tnx

4

7 に答える 7

7

移植可能にするには:

SET ExecPath=%ProgramFiles(x86)%
IF "%ExecPath%"=="" SET ExecPath=%ProgramFiles%
于 2008-11-16T04:01:59.333 に答える
7

それは何もありません。\Windows\System32には何が含まれていると思いますか? そうです、64 ビットの DLL ファイルです。では、32 ビットのレガシー DLL ファイルをどこに置くことにしたのでしょうか? \Windows\SysWOW64もちろんです。

問題は、Windows アプリケーションがシステム ディレクトリの場所を検出するための機能が組み込まれている一方で、多くのアプリケーションがそれらを使用していないことです。Microsoft は、何よりも後方互換性の奴隷であるため、このようなばかげたことを取得します。

于 2008-11-16T02:43:14.703 に答える
2

x86-64 を指定しない限り、x86 は通常 32 ビットと見なされます。とにかく、なぜ独自のプログラムファイルディレクトリが必要なのですか?

于 2008-11-16T02:34:27.093 に答える
1

a.) デフォルトのインストール場所が変更されたからといって、そこに何かをインストールする必要があるわけではありません。レジストリを変更するだけで、新しいインストールを好きな場所に移動できます。私のものはすべて、別のドライブの、選択したフォルダーに移動します。アプリケーションがレジストリを介してそのインストール パスを追跡することさえできない場合、そもそもインストールする価値がない可能性があります。

b.) 32 ビット OS ではないため、x86 フォルダーに 32 ビット アプリケーションを配置したと思います。つまり、古いものがここに格納されます。あなたは新しい家を買って、古い犬小屋で寝ている間に犬を寝かせたりはしませんよね?64 ビットが一歩前進である場合、標準のインストール フォルダであり続ける場所にレガシー ソフトウェアを配置するのはなぜですか?

于 2009-03-22T03:46:11.197 に答える
1

ええと... x86 は Intel プロセッサ アーキテクチャ、たとえば 8086、80286、80386、80486、80586 を指すと思います。

80386 には最初の 32 ビット命令セットがありました。x86 (Wikipedia) を参照してください。

編集:ああ、質問が明確になりました。

Stack Overflow の質問C# - How to get Program Files (x86) on Vista x64を参照してください。

于 2008-11-16T02:41:01.200 に答える
1

編集: FLEX コンパイラを実行する必要があるバッチ ファイルがあります。X64では、そのプログラムはVista 32ビットの「Program Files(x86)」にあり、「Program Files」にあります..環境変数?..確認してください:

%ProgramFiles% 環境変数を使用して、この手間をすべてスキップしてください。

于 2008-11-16T03:44:05.267 に答える
-4

Microsoft は、人々にとって物事をより複雑にすることが好きだからです。64 ビットへの移行を単純化するのではなく、分割して困難にしました。

于 2008-11-16T02:40:22.200 に答える