0

私はInstallShieldの開発者で、クライアントのマシンで奇妙なシナリオに遭遇しました。新しくインストールしてください。詳細は次のとおりです。InstallShieldで作成したアプリケーションは新規インストール時にメジャーアップグレードを実行しますが、以前のバージョンはマシンに存在しません

  1. InstallShieldによって開発されたアプリケーションをインストールしようとしました。ターゲットマシン上の以前のバージョンを検出し、大きなアップグレードシナリオを実行しましたが、マシンに以前のバージョンがないため、アップグレードが失敗しました。

  2. 私は冗長なログをチェックし、「IS_MAJOR_UPGRADE」の値が「はい」

  3. に設定されている私は、プログラムの追加/削除を確認したが何もエントリが見つかりませんでした。私もレジストリエディタのアンインストールハイブをチェックしましたが、私の製品(以前のバージョン)のエントリも含まれていません

  4. 私の製品でインストールされたすべてのバイナリをチェックし、マシン(レジストリとファイル)はまだアップグレードされます。

  5. 私の製品に関連するmsiの場所は「C:¥Windows¥Installer」ですが、そこには見つかりませんでした。

    「C:\ Windows \ Downloaded Installations」のキャッシュされたmsiをチェックしてそこからも削除しましたが、私の製品はマシン上の以前のバージョンを検出しています。

誰がどこの製品に関連したものができた私は、私は私のマシン上のすべての可能な場所を探索してきたように、何がそのMSIプロパティを設定する「IS_MAJOR_UPGRADE」=「はい」のために考えられる理由であり得ることを助けることができますそれでもまだどこかから以前のバージョンの詳細を取得していますか?

答えて

0

Vyom、

あなたのログファイルは、それがアップグレードのために識別するuninstallcodeを特定する必要があります。長いと短いことは、その製品のいくつかのタイプのレジストリの残されていることです。ログファイルにアンインストールGUIDが含まれている場合は、レジストリ全体でそのGUIDを検索してみてください。特に、アプリケーションがユーザーごとのインストールをサポートしている場合は、

+0

応答のためのおかげでダニエル。 – Vyom

+0

いいえ、アプリケーションはユーザーごとのインストールをサポートしていません。マシンごとのインストールを実行します。アプリケーションのアンインストール文字列はレジストリには見当たりませんでした。ログファイルには、ダウンロードされたインストールGUIDのみが含まれていました。キャッシュされたmsiを含むフォルダを手動で削除しましたが、それでもアップグレードのシナリオになりました。 – Vyom

0

重要なもの以外のすべての場所をチェックしました。 MSIはキャッシュされたMSIを削除しても問題ありません。 MSIはARPSYSTEMCOMPONENTプロパティを使用してARPにエントリを入れません。それは問題ではありません。インストールディレクトリを削除できます。それは....(私は停止することを見つける)。

MSIは、Darwinディスクリプタと呼ばれるものを使用して、HKCR \ Installer \ Productsの下で状態データを記録します。

http://druss.co/2013/10/darwin-descriptor-guid-converter/

ウェルカムダイアログでインストールして起動しますキャンセル

。今すぐあなたの冗長なログを見て、FindRelatedProductsが何を報告しているかを見てください。それはあなたが見つける製品コードの名前を教えてくれます。その後、MSIをクエリしてその製品に関する情報を取得したり、darwin記述子を計算してレジストリで検索したりするプログラムを作成できます。

+0

ありがとうクリストファー、これは私が知らなかったことです。私もこれを試してみましょう。 – Vyom

関連する問題