- PR -

インストーラーで起動中のアプリをチェックしたい

1
投稿者投稿内容
にんにん
会議室デビュー日: 2006/06/26
投稿数: 1
投稿日時: 2006-06-26 18:06
こんにちわ。

Windows Installerを使い、.Netで作ったWindowsアプリを配布しようと思います。

1つ質問なのですが
以下ファイルが起動中の場合、アンインストール及びインストール時に警告メッセージを出すようにするにはどうしたらよいでしょうか?。

コンパネ対象のアプリを削除した場合、
「インストールを続行するには、次のアプリケーションを終了する必要があります Adobe Acrobay Professional」
と表示されます。
これと同じようにインストーラーからも同じような処理にしたい場合、
どのようにすればよいか解る方いましたら宜しくお願いします。

[起動中かチェックしたいアプリケーション]
Acrobat 7.0


[動作環境]
Windows XP Professional SP2
Visual Studio.NET 2003
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-06-26 18:14
カスタム動作を使って、プロセスを検索する処理を実装すれば可能なような気がします。

DOBON.NET .NET Tips - カスタム動作エディタの使い方
http://dobon.net/vb/dotnet/deployment/customaction.html
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-06-26 18:46
とっちゃんです。

引用:

にんにんさんの書き込み (2006-06-26 18:06) より:
Windows Installerを使い、.Netで作ったWindowsアプリを配布しようと思います。

1つ質問なのですが
以下ファイルが起動中の場合、アンインストール及びインストール時に警告メッセージを出すようにするにはどうしたらよいでしょうか?。



何もしない場合、問い合わせは出ないということですか?
問い合わせが出ないと問題が出るのでしょうか?

問題があるとなれば、段取りを組み入れないといけないということになります。

が、この場合は、Native の Custom Action DLL を作ることになります(インストーラクラスを使って作るカスタム動作では実現できません)。

カスタムアクションDLLの中で、動いていては困るプロセスをリストアップし、そのパスとキャプション文字列を MsiProcessMessage API に渡して、終了要請ダイアログを出してもらうという形で実装します。

これにより、インストーラが自身のアプリケーションが動いていると表示するダイアログと同じ終了要求ダイアログを出すことが出来ます。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2006-06-28 11:54
引用:

コンパネ対象のアプリを削除した場合、
「インストールを続行するには、次のアプリケーションを終了する必要があります Adobe Acrobay Professional」
と表示されます。
これと同じようにインストーラーからも同じような処理にしたい場合、
どのようにすればよいか解る方いましたら宜しくお願いします。

[起動中かチェックしたいアプリケーション]
Acrobat 7.0



本当に「特定のアプリケーションが起動中かチェックする」必要があるのですか?
個人的には、あまり無いと思います。

アンインストール動作時に

引用:

「インストールを続行するには、次のアプリケーションを終了する必要があります Adobe Acrobay Professional」



という表示が行われるのは、アプリケーションが起動中かどうかをチェックしているからではありません。(普通は)

あの表示は、Windows Instaler がアンインストール対象のファイルが使用中かどうかを監視していて、使用中の場合、使用しているプロセスを調べて表示しているだけです。
1

スキルアップ/キャリアアップ(JOB@IT)