NSIS wikiで説明されているように、NSISインストーラーから永続的な環境変数を設定しています。これは期待どおりに機能し、インストール後に新しいプロセスで変数を使用できるようになります。
ただし、インストールの最後にインストールされたプログラムを起動するオプションを使用する場合、インストーラーから開始されたそのプログラムの環境変数は使用できません。これは、そこで開始されたプログラムが親としてインストーラープロセスを持ち、同じ環境ブロックを取得するためだと思います(createProcess関数のlpEnvironment引数を参照)。
インストーラーの最後のページからプログラムを開始して、新しく設定された環境変数を表示するにはどうすればよいですか?代わりにカスタム起動関数を作成しますか?ドキュメントには、関数の環境ブロックについては何も記載されていませんExec
。