2009-08-28 19 views
3

Windows Server 2008 64ビットでは、\ windows \ system32 \ inetsrvフォルダにいくつかのファイルを書き込むには.msiインストーラファイルが必要です。 (このファイルは、C#XmlReaderSettings.Schema.Add()がそのフォルダ内に存在することを想定したXMLスキーマ検証ファイルの一部です)。MSIインストーラ、64ビットOS、 windows system32 inetsrvフォルダに書き込む

インストーラを実行すると、ファイルは\ windows \ SysWOW64 \ inetsrvフォルダにあります。

インストーラで\ windows \ Sysnativeフォルダに書き込もうとしましたが、インストーラが正確な名前のフォルダを作成しましたが、これは可能ではありません。 SysWOW64リダイレクションを抑制する方法については、this pageを参照してください。

Windows 2008の64ビット版の\ windows \ system32 \ inetsrvフォルダに.msiファイルを書き込む方法を教えてください。

答えて

2

ここにはsystem folder propertiesがあります。私は直感的ではないことを知っていますが、System64Folderを試しましたか?発言を読んでください。

これでうまくいかない場合は、System32をWindowsFolderの末尾に付けてください。

Edit-1:Win64 attribute on your Component要素を設定して、リダイレクト動作が変更されるかどうかを確認してください。

+0

Jeff、あなたが指定したシステムフォルダのプロパティが役立ちます。しかし、System64Folerを使用しようとするとターゲットプラットフォームが互換性がないというコンパイラエラーが発生します。私のアプリケーションは、x86とx64の両方にインストールする必要があります。 WindowsFolderの最後にSystem32をタックすると、SysWOW64リダイレクトのために出力が\ Windows \ SysWOW64 \に移動します。 –

+0

ダン。それは私の知る限りの程度です。 : –

+0

win64のことを試してください –

0

\ windows \ system32ではなく\ windowsにファイルを書き込んで問題を解決しました。 C#XmlReaderSettings.Schema.Add()は\ windowsディレクトリ下の完全修飾パスで動作することが判明しました。指定されたパスが完全修飾されていない場合は、デフォルトではsystem32フォルダーがデフォルトになります。

これは実際の質問に対する回答ではありませんが、すぐに必要とされる回避策です。

1

私はwxsファイルでSysnativeを使用しようとしましたが、同じ結果が得られました.WindowsではSystem32を使用せずにSysnativeフォルダを作成します。 私はvbscript CAでSysnativeを使用しました。Windowsフォルダ(& H24 &)を見つけ、\ Sysnativeを追加します。これは機能しますが、アンインストール中にファイルを削除するには2番目のCAが必要です。

関連する問題