スキップしてメイン コンテンツへ

 none
Windows7 の WSH における 32bit と 64bit の挙動の違いについて RRS feed

  • 質問

  • Windows7 における WSH の挙動について質問です。

    WSH で FileSystemObject を作成し、Program Files 以下に
    ファイルを作成しようとした場合、Windows7 の 32bit と 64bit で
    挙動が異なりました。

    32bit版は問題無いのですが、64bit版は
    「800A0046」エラーで失敗します。

    UAC がオンの場合、Program Files 等のフォルダに対する書き込みは
     C:\Users\<username>\AppData\Local\Virtual Store\
    以下にリダイレクトされるという認識だったのですが、この場合
    どちらが正しいのでしょうか。

    なお、Windows7 64bit と Windows7 32bit は、
    評価版の Window7 Enterprise を利用し、どちらも
    仮想環境(VirtualBox)で動作させています。

    以上、よろしくお願いします。

     

    2009年11月3日 8:53

回答

  • Virtual File StoreやVirtual Registry Storeによるリダイレクトは従来アプリケーションをUAC下で動作させるための互換機能で、32bitプログラムにしか適用されません。
    従って、64bitプログラムではエラーになります。

    英語ですがこの辺り
    http://msdn.microsoft.com/en-us/library/bb756960.aspx

    また、新規に作成するアプリケーションではこれらのリダイレクト機能に依存しないよう書かれています。例えばここ
    http://msdn.microsoft.com/ja-jp/windows/dd883236.aspx
    • 回答としてマーク あせろら 2009年11月3日 10:55
    • 回答としてマークされていない あせろら 2009年11月3日 10:55
    • 回答としてマーク あせろら 2009年11月3日 10:59
    2009年11月3日 10:24

すべての返信

  • Virtual File StoreやVirtual Registry Storeによるリダイレクトは従来アプリケーションをUAC下で動作させるための互換機能で、32bitプログラムにしか適用されません。
    従って、64bitプログラムではエラーになります。

    英語ですがこの辺り
    http://msdn.microsoft.com/en-us/library/bb756960.aspx

    また、新規に作成するアプリケーションではこれらのリダイレクト機能に依存しないよう書かれています。例えばここ
    http://msdn.microsoft.com/ja-jp/windows/dd883236.aspx
    • 回答としてマーク あせろら 2009年11月3日 10:55
    • 回答としてマークされていない あせろら 2009年11月3日 10:55
    • 回答としてマーク あせろら 2009年11月3日 10:59
    2009年11月3日 10:24
  • 佐祐理さま

    返信ありがとうございます。
    なるほど。。そもそも 32bitプログラムのみだったのですね。

    > これらのリダイレクト機能に依存しないよう
    そうですね。
    やはりそこを検討しなおす方が良さそうです。

    アドバイスありがとうございました!
    2009年11月3日 10:57