WiX インストーラーを使用して .Net アプリケーションを展開しています。一部のローカライズされたファイルを Public Documents フォルダーにコピーするために、特別なパラメーターを使用してアプリケーションの実行可能ファイルを実行するカスタム アクションがあります。
<CustomAction Id='Foo' ExeCommand='-special-parameter' FileKey='application' Impersonate='no' Execute='deferred'/>
私のテスト マシンには、いくつかの追加言語がインストールされた Windows 7 Ultimate (英語の CD からインストールされた x86) があり、管理者特権を持つユーザーとして実行しています。このリンクに従って指示されているので、コントロール パネルの表示言語をフランス語に設定して再起動しました。
私のアプリケーションでは、上記のカスタム アクション中に、CultureInfo.CurrentUICulture
英語が返されます。しかし、インストール後CultureInfo.CurrentUICulture
にアプリケーションを実行すると、期待どおりにフランス語が返されます。
インストール プロセス中に Windows が間違ったカルチャを返すのはなぜですか? インストーラーがログインユーザーとして実行されないためですか? それとも、英語の CD を使用して Windows をインストールしたことが関係しているのでしょうか。