2017-11-27 9 views
-1

プログラムのインストール後にユーザーのPCを再起動するように要求する必要があります。 Microsoft Visual Studio 2017インストーラープロジェクトテンプレートを使用してMSIインストーラーを作成しました。Microsoft Visual Studio 2017インストーラープロジェクトテンプレートインストールが完了したらエンドユーザーにPC再起動を促す方法は?

インストールが完了した後で再起動を促すオプションはありません。ウェブ上で高低を検索しましたが、これを行うためのインストーラプロジェクトを設定する方法が見つかりません。

これはインストーラプロジェクトで設定できるオプションはありませんか? カスタムアクションのコードを記述する必要がありますか?

ソフトウェアは企業環境で実行され、管理者権限を持たないマシン上で実行されるため、インストール後に再起動する必要があります。ソフトウェアはregエントリを追加し、Windowsで自動的に起動できるようにします。私は、正常に完了したときにインストーラからソフトウェアを起動すると、ユーザーディレクトリ内の特定のパスにアクセスすることができず、ウィンドウで起動するときにアクセスできることがわかりました。

お時間をいただきありがとうございます。

答えて

1

実際にインストールが完了するまでにWindowsがPCを再起動するため、再起動が必要な理由を説明する価値があります。たとえば、サービスを開始する必要がある場合は、インストーラのクラスオーバーライドで自分で起動します。

これを行う最も簡単な方法は、OrcaなどのMSIエディタでMSIファイルを開き、InstallExecuteSequenceテーブルに移動して、CostFinalizeの直後にAction ScheduleReboot(大文字小文字を区別)という新しい行を追加することです。場所はそれほど重要ではありません)。あなたは、再起動を求めるメッセージ標準をあげる

https://msdn.microsoft.com/en-us/library/windows/desktop/aa371527(v=vs.85).aspx

。もっと積極的にする必要がある場合は、InstallFinalizeの後にForceRebootアクションを使用してください。

コンディションは賢明に選択する必要があります。そうしないと、修復やアンインストールなどのすべての操作が再起動します。

Visual Studioのセットアッププロジェクトは、InstallShield、WiX、Advanced Installerなどの他のツールと比較して機能が制限されています。そのため、これはIDEのオプションではありません。

+0

お返事ありがとうございます。私は再起動が必要な理由を詳細に質問を更新しました。このためにサードパーティ製の製品を使用しなければならないと考えるのは難しく、VS Project Templateには単純な設定オプションだけではありません...彼らは、開発者を強制的に再起動するようにユーザーを誘導したいと思いますが、別のオプションはありません。 – user2109254

+0

OrcaはWindows SDKキットに含まれています。 VSセットアッププロジェクトは「シンプル」ですが、あなたが支払う価格は、Windowsインストーラのすべての機能を得ることができないということです。 – PhilDW

+0

実行する実行可能ファイルがカスタムアクションから起動され、実行中の可能性のあるパスにアクセスできない場合は、システムアカウントで実行されます。 – PhilDW

関連する問題