8

要素を使用して環境変数を更新するwixインストーラーがあります<Environment />

環境変数の値がレジストリで更新されます。しかし、Powershellを開こうとすると、PCを再起動しない限り、変更は表示されません。

誰かがなぜ/どのようにそしてどのように私が再起動を避けることができるかについて何か考えを持っていますか?よろしくお願いします、nomail

更新:なぜこれが起こっているのかを見つけました。再起動時、またはシステムブロードキャストメッセージが送信された場合に、セッション変数が更新されることがわかります。ブロードキャストメッセージを送信するには

SendMessage (HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment");

メッセージを送信するもう1つの汚い方法は、SETX環境変数に新しい値を書き込み、セッション情報を更新するコマンドを使用することです。

SETX something_that_is_not_important value_that_is_not_important

コマンドラインまたはPowerShellコンソールを閉じて開く必要があることに注意してください

4

2 に答える 2

1

特定のwixの問題のようです。このページの下部にあるコメントを参照してください

于 2013-01-15T09:03:01.470 に答える