C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

SetupProjectアンインストールできない /ぽんすけ (18/10/04(Thu) 17:33) #88855
Re[1]: SetupProjectアンインストールできない /とっちゃん (18/10/04(Thu) 18:17) #88860
  └ Re[2]: SetupProjectアンインストールできない /ぽんすけ (18/10/05(Fri) 12:38) #88864
    └ Re[3]: SetupProjectアンインストールできない /とっちゃん (18/10/05(Fri) 12:39) #88866
      └ Re[4]: SetupProjectアンインストールできない /echo (18/10/05(Fri) 12:54) #88868
        └ Re[5]: SetupProjectアンインストールできない /ぽんすけ (18/10/05(Fri) 14:00) #88869
          └ Re[6]: SetupProjectアンインストールできない /echo (18/10/05(Fri) 15:58) #88870
            └ Re[7]: SetupProjectアンインストールできない /ぽんすけ (18/10/05(Fri) 17:18) #88871
              └ Re[8]: SetupProjectアンインストールできない /ぽんすけ (18/10/05(Fri) 17:41) #88872
                └ Re[9]: SetupProjectアンインストールできない /とっちゃん (18/10/05(Fri) 21:56) #88873
                  └ Re[10]: SetupProjectアンインストールできない /ぽんすけ (18/10/08(Mon) 16:48) #88877
                    └ Re[11]: SetupProjectアンインストールできない /ぽんすけ (18/10/09(Tue) 18:19) #88880
                      └ Re[12]: SetupProjectアンインストールできない /ぽんすけ (18/10/09(Tue) 18:58) #88881
                        └ Re[13]: SetupProjectアンインストールできない /とっちゃん (18/10/10(Wed) 10:46) #88885
                          └ Re[14]: SetupProjectアンインストールできない /ぽんすけ (18/10/10(Wed) 15:36) #88892
                            └ Re[15]: SetupProjectアンインストールできない /ぽんすけ (18/10/17(Wed) 12:51) #88956
                              └ Re[16]: SetupProjectアンインストールできない /とっちゃん (18/10/17(Wed) 13:38) #88958
                                └ Re[17]: SetupProjectアンインストールできない /ぽんすけ (18/10/17(Wed) 13:44) #88959 解決済み


親記事 / ▼[ 88860 ]
■88855 / 親階層)  SetupProjectアンインストールできない
□投稿者/ ぽんすけ (44回)-(2018/10/04(Thu) 17:33:45)

分類:[インストーラ全般] 

2018/10/04(Thu) 17:37:11 編集(投稿者)

お世話になります。 インストーラについてお伺いします。

Microsoft Visual Studio Community 2017でSetup Projectを追加してインストーラを作成しております。

Setup Projectを使ってインストーラを作成いたしましたが、
アンインストールが正常に終了しないため、質問させていただきます。

インストールは正常に行われ、アプリの起動、操作も問題はありませんが、
アンインストールしようとすると、途中で以下のようなエラーが発生し、
正常にアンインストールできません。


「Error1001 インストールを初期化中に例外が発生しました。
SystemIO.FileNotFoundException:ファイルまたはアセンブリ
'file:///C:\WINDOWS\SysWOW64\Company'、またはその依存
関係の1つが読み込めませんでした。指定されたファイルが
見つかりません」

上記のフォルダにアクセスするようなプログラムでもないし、
インストール後、確認してみたところ、
SysWOW6フォルダ下には「Company]というフォルダなど
ありません。

なにかヒントでもございましたら、ご教示お願いいたします。

ちなみに
https://support.microsoft.com/ja-jp/help/17588/fix-problems-that-block-programs-from-being-installed-or-removed
でレジストリをきれいにしてみましたが、同じでした。
上記ツール実行後は、PC再起動は必須でしょうか?


[ □ Tree ] 返信 編集キー/

▲[ 88855 ] / ▼[ 88864 ]
■88860 / 1階層)  Re[1]: SetupProjectアンインストールできない
□投稿者/ とっちゃん (540回)-(2018/10/04(Thu) 18:17:03)
No88855 (ぽんすけ さん) に返信

> 「Error1001 インストールを初期化中に例外が発生しました。
> SystemIO.FileNotFoundException:ファイルまたはアセンブリ
> 'file:///C:\WINDOWS\SysWOW64\Company'、またはその依存
> 関係の1つが読み込めませんでした。指定されたファイルが
> 見つかりません」
>
このエラーは、カスタム動作の処理を行うタイミングで出ているものでしょうか?
だとすると、何かの設定でレジストリを見るべきなのにファイルになっているなどのプログラム的なバグが原因と考えられます。
例外ダイアログを出した状態で、デバッガでアタッチすればなにか探れるかもしれませんが、普通にバグ修正してください。
ということくらいしか外部からは言えません。


> ちなみに
> https://support.microsoft.com/ja-jp/help/17588/fix-problems-that-block-programs-from-being-installed-or-removed
> でレジストリをきれいにしてみましたが、同じでした。
> 上記ツール実行後は、PC再起動は必須でしょうか?
>
具体的に何をするということが書かれていないので、再起動したら状況が変わるかどうかはわからないです。

[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88860 ] / ▼[ 88866 ]
■88864 / 2階層)  Re[2]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (45回)-(2018/10/05(Fri) 12:38:12)
No88860 (とっちゃん さん) に返信

とっちゃん様

ありがとうございます。
カスタム動作の処理を外しても同じような状況でした。
ちなみに発生しているPCは今のところ1台だけでしたので、
環境の問題もあるのかもしれません・・・
引き続き調査してみます。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88864 ] / ▼[ 88868 ]
■88866 / 3階層)  Re[3]: SetupProjectアンインストールできない
□投稿者/ とっちゃん (542回)-(2018/10/05(Fri) 12:39:52)
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88866 ] / ▼[ 88869 ]
■88868 / 4階層)  Re[4]: SetupProjectアンインストールできない
□投稿者/ echo (3回)-(2018/10/05(Fri) 12:54:25)
もしかしたら、PC内のインストールソフトのデータが破損していて、
アンインストールができなくなっているのかも知れません。

その場合は、一度、強制的にソフトをアンインストールするツールで一度きれいな状態にして、
再度同一ソフトをインストール→アンインストールが可能かを試した方がよいかと思います。

「アンインストール 強制 フリーソフト」で検索すると色々と見つかります。

(例えば以下のようなサイト)
https://www.gigafree.net/system/install/

ちなみに、知り合いにアンインストールが出来なくなった時、ここに記載の
「Revo Uninstaller」というものを使ったそうです。

(フリーウェア使用の場合は自己責任でお願いします。)
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88868 ] / ▼[ 88870 ]
■88869 / 5階層)  Re[5]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (46回)-(2018/10/05(Fri) 14:00:27)
No88868 (echo さん) に返信
>
> ちなみに、知り合いにアンインストールが出来なくなった時、ここに記載の
> 「Revo Uninstaller」というものを使ったそうです。
>
> (フリーウェア使用の場合は自己責任でお願いします。)

echoさん
ありがとうございます。

「IObit Uninstaller Free」で試してはみましたが、同じ結果でした。
こちらも強制アンインストールソフトです。
ソフトによって多少違うのでしょうか。試してみたほうがよいですね。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88869 ] / ▼[ 88871 ]
■88870 / 6階層)  Re[6]: SetupProjectアンインストールできない
□投稿者/ echo (4回)-(2018/10/05(Fri) 15:58:18)
強制アンインストールソフトはすでにお試しでしたか。
失礼しました。

ところで、エラーとなるPCとそうでないPCとで
何か明確な違いはありますか?

あとは、同じようなインストーラを新規セットアッププロジェクトで作成して、
その動作を見るとか。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88870 ] / ▼[ 88872 ]
■88871 / 7階層)  Re[7]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (47回)-(2018/10/05(Fri) 17:18:05)
No88870 (echo さん) に返信

ありがとうございます。
PC環境の違いなどについて調査してみます。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88871 ] / ▼[ 88873 ]
■88872 / 8階層)  Re[8]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (48回)-(2018/10/05(Fri) 17:41:15)
何度も申し訳ございません。

環境の違いは以下のようです。

●発生しないPC
アプリと機能一覧でみたら.NET Frameworkのバージョンは4.7.2です

●発生したPC
アプリと機能一覧でみたら.NET Frameworkのバージョンは4.7.1ですが、
  レジストリで確認してみたところ、461808 
  Windows 10 April 2018 Update にインストールされた .NET Framework 4.7.2になっておりました。


インストール時の必須コンポーネントとして、.NET Framework4.7.2を入れております。
アンインストール時にはこれを消そうとして、バージョンが違うために消せないということ
でしょうか。。。

アプリインストール前後に.NET Frameworkに関してはバージョンアップなどは
特に発生しておりません。

もし何か分かりましたら、ご教示お願いします。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88872 ] / ▼[ 88877 ]
■88873 / 9階層)  Re[9]: SetupProjectアンインストールできない
□投稿者/ とっちゃん (543回)-(2018/10/05(Fri) 21:56:38)
No88872 (ぽんすけ さん) に返信
> インストール時の必須コンポーネントとして、.NET Framework4.7.2を入れております。
> アンインストール時にはこれを消そうとして、バージョンが違うために消せないということ
> でしょうか。。。
>
自分で呼び出しているなどがあれば別ですが(その場合は必ず失敗する)
必須コンポーネントをアプリのアンインストーラが自動でアンインストールするということはありません。


多分、今のままこれ以上情報を求めても答えにたどり着ける情報は得られない気がします。

手がかりがなさすぎなので、まずは詳細ログをとってみてはいかがでしょう?

インストーラのProductCodeはわかりますか?
わからなかったら、現在エラーが出ているインストール環境で
レジストリエディタを開き、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall キー(32bitOSの場合)
または
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall キー(64bitOSの場合)
を開き、
{...} のサブキーのどこかにある自分のインストーラを探してください。

見つけたら、{...} の部分をコピーし、
コマンドプロンプトを開いて

msiexec /x {...} /l*v "%TEMP%\uninstall.log"

と、入力して({...}の部分は自分で見つけたインストーラのキーを入れる)、実行します。

そのうちエラーがでて止まるので、
止まったら、
notepad "%TEMP%\uninstall.log"

と、入力して、ログを開きます。

詳細ログが取得できているので、エラーのメッセージ(エラー、error、fail などなど、エラー系文字列をくまなく探していく)を
探して、なにか手掛かりになりそうなものをひたすら探します。

一応書いておきますが、そのままログファイルを張り付けたりすると、かなりいろんな情報が見えてしまうので注意してくださいね。

[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88873 ] / ▼[ 88880 ]
■88877 / 10階層)  Re[10]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (49回)-(2018/10/08(Mon) 16:48:39)
No88873 (とっちゃん さん) に返信

とっちゃん様

ご教示くださり感謝します。
この方法で調査してみます。
ありがとうございます。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88877 ] / ▼[ 88881 ]
■88880 / 11階層)  Re[11]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (50回)-(2018/10/09(Tue) 18:19:32)
No88877 (ぽんすけ さん) に返信
> ■No88873 (とっちゃん さん) に返信
>

とっちゃん様

とっちゃんさまにご教示いただいた方法でログを取得してみました。
以下、抜粋です。

エラー 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)

「このパッケージは問題がある可能性があります。エラー コードは 2769 」を調べてみますと、下記のサイトでは「カスタム動作がユーザ権限で動作しているために起こる」ってなことが
書かれておりましたが、Visual Studio 2017ではシステム権限で動作しているはずなのですが・・・

https://blogs.msdn.microsoft.com/jpvsblog/2011/05/27/step-by-step-guide-msi/

どういうことなのでしょうか。
もし何かわかりましたらご教示ねがいます。


[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88880 ] / ▼[ 88885 ]
■88881 / 12階層)  Re[12]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (51回)-(2018/10/09(Tue) 18:58:44)
すみません・・・
https://blogs.msdn.microsoft.com/jpvsblog/2011/05/27/step-by-step-guide-msi
に記載されているのは、
エラーコードは 2869のことのようです。申し訳ありません。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88881 ] / ▼[ 88892 ]
■88885 / 13階層)  Re[13]: SetupProjectアンインストールできない
□投稿者/ とっちゃん (544回)-(2018/10/10(Wed) 10:46:57)
No88881 (ぽんすけ さん) に返信

> エラー 1001。 Error 1001. インストールを初期化中に例外が発生しました:
> System.IO.FileNotFoundException: ファイルまたはアセンブリ 'file:///C:\WINDOWS\SysWOW64\Company'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

直接・間接的な原因はこのError 1001 でしょう。
Error 1001 で検索してみたところ、どうやらトラップされない例外があるとこのエラーをログに出力するようです。

今回の場合は、System.IO.FileNotFoundException。
カスタム動作を実装したアセンブリまたは、そこからロードされるなにかのモジュールが 'C:\WINDOWS\SysWOW64\Company' というファイルを要求して、見つけられずにエラーが出た。
というのが現実的な理由でしょう。

カスタム動作の実装がわからないのでなんでこのファイルが要求されているかもわかりません。

もしかしたら、リンク先のブログにあるようにカスタム動作のモジュールを差し替えた結果、おかしな状況になったということも考えられます。

http://blog.syo-ko.com/?eid=1372

カスタム動作のモジュール内部に問題があるであろうことが推測できます。
ですが、カスタム動作は文字通り、プログラマーが必要に応じてカスタマイズするためにある機能なので
外部の第三者にはその中からエラーの状況を推測するのは、ほぼ不可能といえます。

まずは、カスタム動作のアンインストール時の処理で何をやっているかをくまなく調査し、直接・間接的にロードされるなにかが
上記ファイルを参照するような状況になる条件を探していくしかないと思います。

[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88885 ] / ▼[ 88956 ]
■88892 / 14階層)  Re[14]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (53回)-(2018/10/10(Wed) 15:36:56)
No88885 (とっちゃん さん) に返信

とっちゃん様

お忙しいところ、ありがとうございます。
引き続き、地道に調査していきます。
[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88892 ] / ▼[ 88958 ]
■88956 / 15階層)  Re[15]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (54回)-(2018/10/17(Wed) 12:51:10)
No88885 (とっちゃん さん) に返信

とっちゃん様

お世話になります。

本件、解決いたしました。
強制アンインストールツールを使用して、レジストリ情報等もすべてクリーンにした後、
セットアッププロジェクトのバージョンを上げたものをインストールしました。
その後は、正常にアンインストールできるようになりました。

遅くなりましたが、ご報告申し上げます。


ちなみに、セットアッププロジェクトでのバージョンアップは、古いバージョンの
アンインストール処理が必ず走ってしまうでしょうか。
例えば、カスタム動作のアンインストール時に作成したデータなどを消す処理を入れていた場合、
アップデート時には、アップデートの種類(Small、Minor、Major)に関わらず
これらは消えてしまうでしょうか。


[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88956 ] / ▼[ 88959 ]
■88958 / 16階層)  Re[16]: SetupProjectアンインストールできない
□投稿者/ とっちゃん (546回)-(2018/10/17(Wed) 13:38:06)
No88956 (ぽんすけ さん) に返信
> ちなみに、セットアッププロジェクトでのバージョンアップは、古いバージョンの
> アンインストール処理が必ず走ってしまうでしょうか。
> 例えば、カスタム動作のアンインストール時に作成したデータなどを消す処理を入れていた場合、
> アップデート時には、アップデートの種類(Small、Minor、Major)に関わらず
> これらは消えてしまうでしょうか。
>
上書きインストールの動作は正しくは、
「新しいバージョンをインストールしつつ、旧いバージョンをアンインストールする」
です。

なので、アンインストール処理も動作します。

ただし、上記はあくまでも、セットアッププロジェクトのアップデートパターンの話であって、
mspによる更新(パッチアップデート)ではこれは当てはまりません。
また、ProductCodeが同じマイナーアップグレードも当てはまりません。

ただし、マイナーアップグレードや、パッチによる更新処理は、VSのセットアッププロジェクトでは保障されない動作となります。
これは、ComponentId という内部の識別子が自動生成されているためなので、自動生成の条件がずれなければ作れることはありますが
自動生成の条件が不明なので、うまくいくかどうかはビルドできるまでわからないため、実質的には役に立たないとなります。

もし、mspによるパッチ更新あるいは、マイナーアップグレードなどでの更新を行いたいという場合は、
それを基本的機能としてサポートする InstallShield Professional 以上や、WiX など別のツールを利用することになります。

[ 親 88855 / □ Tree ] 返信 編集キー/

▲[ 88958 ] / 返信無し
■88959 / 17階層)  Re[17]: SetupProjectアンインストールできない
□投稿者/ ぽんすけ (55回)-(2018/10/17(Wed) 13:44:43)
No88958 (とっちゃん さん) に返信

ありがとうございます。
クローズさせていただきます
解決済み
[ 親 88855 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -