none
特定のファイルのみアンインストールされません。 RRS feed

  • 質問

  • Visual Studio 2008 Professional Editionにおいて,セットアッププロジェクトを使用してインストーラを作成しています。

    作成したアプリケーションと共に,アプリケーションフォルダに別で作成していたヘルプファイル(CHMファイル)をインストールできるように作成したのですが,
    アンインストール時になぜかこのヘルプファイルのみがアンインストールされません。

    ファイルのインストールプロパティのPermanentの値は「False」としているのですが,これ以外に何か設定が必要なのでしょうか。

    情報,よろしくお願いします。
    2010年1月16日 2:38

回答

  • 手元の環境で試してみたところ
    .chm ファイルのアンインストールが正しくおこなわれました

    > インストールできるように作成したのですが

    これはどのような方法(手順)でおこないましたか?

    2010年1月19日 7:56
  • > ・インストールプロジェクトのファイルシステムにて,「アプリケーション フォルダ」を右クリック→追加で.chmファイルを追加。
    > ・同じくファイルシステムにて,追加したchmファイルのプロパティ上,Permanentの値が「False」となっている事を確認。
    > ・インストールプロジェクトのビルドを実行。

    このとおりやってみましたが、正常動作してしまいました。。
    ということで残念ながらお役に立てそうにありません。。。

    どなたかが回答してくれるといいですが
    とりあえず解決に近づく策の候補を挙げておきます

    策1.問題を切り分けて、回答しやすいようにする。
      ・他の環境ではどうか(他のPC、他のバージョンの Visual Studio)
      ・他の種類のファイルではどうか
      ・他の chm ファイルではどうか
      ・Permanent を「True」にするとどういう動作になるか
      など現象を明確にして問題をわかりやすくします。

    策2.msi ファイルの中を見たり編集できるツールで中身が正しいことを確認する。
      Orca
      http://support.microsoft.com/kb/255905/ja
      さらには Orca を使って削除ファイルも登録できるとおもいます(実際にやった経験はありません)
      RemoveFile Table
      http://msdn.microsoft.com/en-us/library/aa371201(VS.85).aspx

    策3.開発環境を疑ってみる。
      環境が変わってしまってもよければですが、、、
      ・/ResetSettings(http://msdn.microsoft.com/ja-jp/library/ms241273(VS.80).aspx
      ・Visual Studio 再インストール
      ・OS から再インストール
      など環境をいじってみる。

    以上です。

    2010年1月20日 4:48
  • フォローしに出てきました。

    とはいえ、現状だとmsiを見てみればある程度はわかるかもね。。。という程度で、それ以上は何とも。。。ですがw

    一応確認項目として...

    permanent は、削除しないフラグですが、もうひとつ共有フラグ(SharedLegacy)があります。
    こちらはどうなってますか?

    インストール自体はどういう環境に行っていますか?
    開発環境とは別でしょうか?それとも開発環境に対してでしょうか?

    anningo さんも書いていますが、環境が変わるとどうなるか?というのは非常に重要です。
    特にインストーラの場合、動作できるようにするまでの作業が多々あるためすでにいろいろとそろっている開発環境と
    そうではない場合では全く状況が変わります。

    まずは広範囲な情報収集からでしょうね。

    一応おまけとして、インストールの詳細ログのとり方も書いておきます。

    コマンドラインで
    msiexec /i フルパスでmsiファイルを指定 /l*v フルパスで詳細ログのパスを指定
    とすることで、詳細ログを出力できます。

    うまくいかない環境で、インストールを行いそのまますぐにアンインストールすればログが取得できます。
    同名のログは上書きされるので、適当に名前を付けて作業すれば、それぞれのログが取得できますよ。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2010年1月20日 5:52

すべての返信

  • 手元の環境で試してみたところ
    .chm ファイルのアンインストールが正しくおこなわれました

    > インストールできるように作成したのですが

    これはどのような方法(手順)でおこないましたか?

    2010年1月19日 7:56
  • 手元の環境で試してみたところ
    .chm ファイルのアンインストールが正しくおこなわれました

    > インストールできるように作成したのですが

    これはどのような方法(手順)でおこないましたか?


    以下の手順にて設定を行いました。

    ・インストールプロジェクトのファイルシステムにて,「アプリケーション フォルダ」を右クリック→追加で.chmファイルを追加。
    ・同じくファイルシステムにて,追加したchmファイルのプロパティ上,Permanentの値が「False」となっている事を確認。
    ・インストールプロジェクトのビルドを実行。

    上記作業のみです。
    他になにか忘れている作業があるのでしょうか。

    以上,お手数ですがアドバイスいただけると助かります。
    2010年1月20日 2:30
  • > ・インストールプロジェクトのファイルシステムにて,「アプリケーション フォルダ」を右クリック→追加で.chmファイルを追加。
    > ・同じくファイルシステムにて,追加したchmファイルのプロパティ上,Permanentの値が「False」となっている事を確認。
    > ・インストールプロジェクトのビルドを実行。

    このとおりやってみましたが、正常動作してしまいました。。
    ということで残念ながらお役に立てそうにありません。。。

    どなたかが回答してくれるといいですが
    とりあえず解決に近づく策の候補を挙げておきます

    策1.問題を切り分けて、回答しやすいようにする。
      ・他の環境ではどうか(他のPC、他のバージョンの Visual Studio)
      ・他の種類のファイルではどうか
      ・他の chm ファイルではどうか
      ・Permanent を「True」にするとどういう動作になるか
      など現象を明確にして問題をわかりやすくします。

    策2.msi ファイルの中を見たり編集できるツールで中身が正しいことを確認する。
      Orca
      http://support.microsoft.com/kb/255905/ja
      さらには Orca を使って削除ファイルも登録できるとおもいます(実際にやった経験はありません)
      RemoveFile Table
      http://msdn.microsoft.com/en-us/library/aa371201(VS.85).aspx

    策3.開発環境を疑ってみる。
      環境が変わってしまってもよければですが、、、
      ・/ResetSettings(http://msdn.microsoft.com/ja-jp/library/ms241273(VS.80).aspx
      ・Visual Studio 再インストール
      ・OS から再インストール
      など環境をいじってみる。

    以上です。

    2010年1月20日 4:48
  • フォローしに出てきました。

    とはいえ、現状だとmsiを見てみればある程度はわかるかもね。。。という程度で、それ以上は何とも。。。ですがw

    一応確認項目として...

    permanent は、削除しないフラグですが、もうひとつ共有フラグ(SharedLegacy)があります。
    こちらはどうなってますか?

    インストール自体はどういう環境に行っていますか?
    開発環境とは別でしょうか?それとも開発環境に対してでしょうか?

    anningo さんも書いていますが、環境が変わるとどうなるか?というのは非常に重要です。
    特にインストーラの場合、動作できるようにするまでの作業が多々あるためすでにいろいろとそろっている開発環境と
    そうではない場合では全く状況が変わります。

    まずは広範囲な情報収集からでしょうね。

    一応おまけとして、インストールの詳細ログのとり方も書いておきます。

    コマンドラインで
    msiexec /i フルパスでmsiファイルを指定 /l*v フルパスで詳細ログのパスを指定
    とすることで、詳細ログを出力できます。

    うまくいかない環境で、インストールを行いそのまますぐにアンインストールすればログが取得できます。
    同名のログは上書きされるので、適当に名前を付けて作業すれば、それぞれのログが取得できますよ。


    わんくま同盟,Microsoft MVP for Visual C++(Oct 2005-) http://blogs.wankuma.com/tocchann/
    2010年1月20日 5:52
  • こんにちは、フォーラムオペレーターの高橋春樹です。

    anningoさん、とっちゃんさん、いつもお世話になってます。
    アドバイス有難うございました。

    ボギワンさん、初めまして。
    MSDNフォーラムのご利用有難うございます。

    皆様から、問題の切り分けアドバイスを頂いたと思うのですが、その後如何でしょうか?
    私の環境でも試してみたところ、正常に削除できました。
    問題の切り分けにもなるので、ボギワンさんの方でも、他の環境で試してもらいたいと思います。

    今回、anningoさん、とっちゃんさんからの投稿が、このフォーラムを利用している方にとっても、有用な情報だと思いましたので、
    勝手ながら、皆様の投稿に、回答マークを付けさせてもらいました。

    ギボワンさんの現在の状況も気になるので、皆さんからのアドバイスに返信して頂けると助かります。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹
    2010年2月3日 5:09