質問

私のWixインストーラは私のプログラムのインストールを行ったが、アンインストールのために壊れている。ファイルが早すぎる、さらに行をさらにダウンする必要があります。アンインストーラは失敗し、その変更を元に戻します。

これは私が自分のマシンからパッケージを削除することができないことを意味します。したがって、私のインストーラのさらにビルドをインストールすることはできません(かなりの不便)。パッケージの取り外しを強制するにはどうすればいいですか?

役に立ちましたか?

解決

アップデート、SteinÅsmul この新しいクリーンアップアプローチのリストを注入する


  1. C:\Windows\Installerであなたのパッケージを見つけて、WindowsはインストールされているMSIパッケージのコピーを保持します。名前はランダムに生成されるので、ファイルの作成日を調べる必要があります。

  2. orca 。 (残念ながら、ORCAインストーラのための簡単なダウンロードはありません。 Windows 10 SDK 、次にorca.msiをC:\Program Files (x86)\Windows Kitsで検索します。)

  3. カスタマアクションテーブル

  4. 今すぐパッケージをアンインストールすることができるはずです。

    edit :以下の@ darkrock76の答えに従って、ステップ1のフォルダはC:\ProgramData\Package Cache\にもなります。私は私の窓7 SP1機械上にいます。これに関するドキュメントをすぐに見つけることができませんでした。


    アップデート:こんにちはWIM、あなたが早く提供していた良い登録のないcom情報をありがとう!このアンインストール課題のいくつかの更新プログラム:DarkRock76sの回答は正しくありません、私のコメントを下回る。また、上記の手順3でカスタムアクションを削除する代わりに、InstalleXecuteShenceテーブルにその条件を0に設定します(数値ゼロ== false)。カスタムアクションテーブルエントリを削除すると、いくつかの壊れた外部キー参照がいくつか残ります(ある時点で失敗する可能性があります)。 マイクロソフト修正ツールこのハックに頼る前にも試すことができます。 オルカに加えて、代替、無料のMSIツール/エディタ/ビューア(下に向かって)多分ユーザーは編集前に元のMSIのZIPを作るべきですが、私はそれが暗黙的にあると思います。この厄介なコメントを削除してください。一度取得したら、そのようなアンインストールを強制する方法のクイックサマリーを作成する(修正MSツール(修正MSツール、マイナーグアップグレードを使用して、キャッシュされたMSIを直接編集し、変換の適用)。アンインストール、そして他のものがあるものは何でもあります)。展開でロックオン:-)。あなたの登録無料のCOM回答は私(スタイン)を過去にかなり少し助けました。多くの感謝。

    と忘れたこと: PowerShell を使用して、実際のキャッシュMSIファイルを見つけることができます。それは1つのパッケージ、すべてのパッケージ(最初のスクリーンショットまでスクロールする)を得ることができます。

他のヒント

通常私のために働く:

msiexec /fv installer.msi
.

それはインストーラをややリケットするので、修正されたものでもう一度試すことができます。

このコマンドがうまくいきませんでした、そして私はマイクロソフトの修正を使わなければなりませんでした。問題を解決しました(私にとってかなりの衝撃)

記載されている行動の正確な理由によっては、少なくともいくつかのオプションがあるかもしれません。

障害の理由がアンインストールで実行されるカスタムアクションで、このカスタムアクションがいくつかのプロパティでコンディショニングされている場合は、コマンドラインで希望の値を渡すことを試みることができます。

msiexec /x {YOUR-PRODUCTCODE-HERE} RUNMYACTION=false
.

このサンプルでRUNMYACTIONは、カスタムアクション条件に参加しているWindowsインストーラプロパティであり、falseをその値として渡すと、アクションは実行されません。

それ以外の場合は、ロジックを修正する(または単に明示的に無効にする)、新しいMSIパッケージを構築することができます。その後、そのターゲットマシンにアップロードして、次のように実行します。

msiexec /i YourPackage.msi REINSTALL=ALL REINSTALLMODE=vomus
.

ここYourPackage.msiは新しい固定パッケージで、REINSTALL=ALLはこの新しいパッケージを使用して製品を再インストールするようにmsiexecに指示し、REINSTALLMODE=vomus(ITのv部分)はMSIパッケージを再キャッシュすることになります。その後通常の方法です。

サイドメモ:あなたの本当のものを危険にさらさないように仮想マシンにインストールをテストする必要があります。

FYI:Windows 8.1では、インストーラはここに移動されました:C:\ ProgramData \ Package Cache \

通常、レジストリ内の<Your Installer's Name>.msiまたは<Your Installer's Company Name>を探し、Windowsインストーラツリーの下のProductsの一部のアンインストールキーの一部を削除します。キャッシュされたインストーラや、インストールされている各ファイルの他のレジストリキーのように横になっているものをいくつか残してください。ただし、常にを常時が常に働いています。どこかにキャッシュされましたか?あなたは右ですか?

Microsoft

からもこの小さなツールを使用しました

https://support.microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being-installed - rem-removed

基本的にこのツールを使用することは、「プログラムのインストールまたは削除からブロックする破損したレジストリキーを含む問題を修復する」

修正するもの:

    64ビットオペレーティングシステム上の
  1. 破損したレジストリキー

  2. 更新データを制御する

  3. 破損したレジストリキー

  4. 新しいプログラムがインストールされないようにする問題

  5. 既存のプログラムが完全にアンインストールまたは更新されないような問題

  6. コントロールパネル

  7. のプログラムの追加または削除(またはプログラムや機能)を介してプログラムをアンインストールすることをブロックする問題

    • windows 7
    • Windows 8
    • Windows 8.1
    • Windows 10
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top