お世話になります。
C#2005で開発しております。
WinXPで作成したexeで、C:\Windows\System32の下のiniファイルを読み込んでおります。
このexeを64bit版Win2008Serverで実行したいのですが、
C:\Windows\SysWOW64にインストーラーで作成されたiniファイルを以下のコードで読み込むことが出来ません。
string strIniFilePath = Environment.SystemDirectory + "\\****.INI";
64bit版で32ビットのものを実行する場合は、C:\Windows\SysWOW64に読み込みをしなければならないと認識しております。
また、64bit版Win2008Serverのsystem32フォルダに置くと、読み込むことが出来ます。
iniファイルはdllと違い、system32の下に置かなければいけないのでしょうか。
お手数ですが、ご教授いただきたくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
「そこで64ビットWindows(WOW64)は,32ビット・アプリケーションが,例えばC:\WINDOWS\system32にアクセスすると,C:\WINDOWS\SysWOW64にリダイレクトする(図14[拡大表示])。」
と言うのが重要。
つまり
・32ビットアプリケーションは、インストーラーにより、C:\Windows\SysWOW64にインストールしなければならない
・32ビットアプリケーションをC:\Windows\System32にインストールしてはならない(iniファイルも然り。C:\Windows\System32に32ビット用iniファイルを置いてはならない)
・32ビットアプリケーションは、C:\Windows\SysWOW64にアクセスする場合は、C:\Windows\System32にアクセスし、WOW64によってリダイレクトして貰わねばならない
・32ビットアプリケーションは、C:\Windows\SysWOW64にアクセスするようなハードコーディングをしてはならない
って事です。
なお、
string strIniFilePath = System.Environment.GetFolderPath(Environment.SpecialFolder.System) + "\\****.INI";
の方が安全です。
この回答への補足
ご回答ありがとうございます。
私も上記のページを確認し、記述していただいたコードも試したのですが、C:\Windows\SysWOW64のiniファイルを読み込むことが出来ませんでした。
リダイレクトをしているかどうか確認できるコードはあるのでしょうか。
No.2
- 回答日時:
C# 2005の初期設定では
プラットフォームターゲットがAny CPUになっているので、
x86環境ではx86アプリケーションとして
x64環境ではx64アプリケーションとして動作します。
なので、あなたが32ビットだと思っているプリケーションは
実際にはx64アプリケーションとして動作しているのでしょう。
x86/x64のどちらで動作しているかは
タスクマネージャのプロセスタブでイメージ名に *32 がついているかどうかを
確認することで分かります。
10 行でズバリ !! 64 ビット対応 .NET アプリケーションの開発 (C#)
http://msdn.microsoft.com/ja-jp/events/dd279507. …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
帳票出力について
-
32ビットのアプリで、64ビットO...
-
IISワーカープロセスが原因でCP...
-
[VB.2005]クライアントからWEB...
-
ログオフ中でもアプリケーショ...
-
java起動時の日本語引数文字化...
-
javaアプレットの勉強にオスス...
-
JavaアプレットはWebブラウザ上...
-
「Webサイト」プロジェクトと ...
-
unzip32.dllの利用について(64b...
-
JSPファイルで生じるエラーをど...
-
EclipseでJavaコンパイラのバー...
-
使用しているJUnitのバージョン...
-
VBはどのくらいで習得するもの...
-
CrystalReportsのバージョン確...
-
MSCOMCTL.OCXのアップデートの方法
-
struts2環境構築で不具合が出て...
-
C#とDelphiの違いについて
-
msvc12はvisual studio2013?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
unzip32.dllの利用について(64b...
-
ログオフ中でもアプリケーショ...
-
帳票出力について
-
プラグインとパッチの違いは?
-
C++からC#へ
-
このVBAでExcelアプリケーショ...
-
IIS6.0アプリケーションプール...
-
C#のメモリマップドファイルに...
-
AccessとVBの違いについて
-
アプレットからアプリケーショ...
-
Java でネイティブアプリケーシ...
-
open ssl 脆弱性について
-
ASP(VB).NETでの背景色変更
-
JAVAアプレットとか。
-
Java(Servlet,JSP)を使用して...
-
javaで3D-CAD作れますか?
-
java3dが動かない
-
Javaの種類ってどんだけあるの?
おすすめ情報