■89754 / ) |
Re[1]: カスタムインストーラ MSIHANDLEのリーク |
□投稿者/ とっちゃん (561回)-(2018/12/20(Thu) 11:52:41)
|
■No89753 (ぽんすけ さん) に返信
> カスタム動作を組み込んだインストーラで、アンインストール時、以下のエラーが発生しましたが、 > http://blogs.wankuma.com/tocchann/archive/2008/02/13/123023.aspxでの解説と同じ現象かと思います。 > > カスタム動作の中では、MSIのデータベースについての処理は特におこなっていないのですが、 > なぜリークエラーが発生するのか理解できておりません。 > 処理の最後で「MsiCloseHandle」を呼び出せば解決するのでしょうか・・・ > すみませんが、ご教示お願いいたします。 > > ------------------------------------------------------- > エラー 1001。 Error 1001. インストールを初期化中に例外が発生しました: > System.IO.FileNotFoundException: ファイルまたはアセンブリ 'file:///C:\windows\SysWOW64\Company'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。 > DEBUG: Error 2769: Custom Action _808ED202_6D40_4CED_8546_AF7EFF518B8B.uninstall did not close 1 MSIHANDLEs. > このパッケージをインストールするときに予期しないエラーが検出されました。このパッケージは問題がある可能性があります。エラー コードは 2769 です。 引数: _808ED202_6D40_4CED_8546_AF7EFF518B8B.uninstall, 1, > CustomAction _808ED202_6D40_4CED_8546_AF7EFF518B8B.uninstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) >
すごく懐かしいブログ記事が。。。w
ですが、ハンドルのクローズ漏れの原因は前回( ■No88855 )も書いていますが、例外が発生していることに起因しています。 前回のやり取りはこちら。 http://bbs.wankuma.com/index.cgi?mode=al2&mo=88855&namber=88855&space=0&page=0&KLOG=153
確かに DEBUG: Error 2769 の行以降のログはクローズ漏れを表していますが、直接的な原因はその手前の Error 1001 にあります。 カスタム動作本体が例外でクラッシュしているため、そこに渡したハンドルもクローズされていない!と言ってるだけです。
なので、調査するのは「なぜ例外が発生するのか」「どこで例外が発生しているのか」という、一般的な プログラムエラーと同じような対応となります。 以前も書いていますが、第三者から言えることは、その程度です。
ところで、この問題、前回は解決していますがその時は結局どうしたのでしょう?
強制アンインストールしてからなら問題ないとか、書いてありましたけど。。。? 古いバージョンをインストール・アンインストールは問題ない? 新しいバージョンを入れて古いのをアンインストールは問題がある? そのあたりも情報がないままです。
|
|