web-dev-qa-db-ja.com

Windows msi:エラー1316:指定されたアカウントは既に存在します

バンドルからwixパッケージを実行すると、アップグレード中に「エラー1316:指定されたアカウントはすでに存在しています」が出力されます。 Windowsインストーラーはどのようにこのエラーコードを出力できますか?それについてのドキュメントはあまりないようです。

以前に単一のmsiパッケージで構成される製品をリリースしましたが、現在、このmsiパッケージの新しいバージョンを含むwixバンドルで構成されるアップグレードを準備しています。元のmsiパッケージと更新の間の製品コードとファイル名は変更されていません。

編集:現時点では、msiパッケージはアップグレードをサポートしていません。ユーザーがアップグレードする必要がある場合(メジャーアップグレード、マイナーアップグレード、または小規模なアップデートの場合は常に)、前のパッケージを手動でアンインストールする必要があります...

編集2:コンパイルのためにutil拡張機能への参照を削除したところ、インストーラーは正常に動作しているようです...まだ完全にテストする必要があります。

6
Brainless

MrFusionと同様に、別のプログラムのアンインストール/インストールでこの問題に遭遇しました。残念ながら、その回答のリンクは無効になり、役立つ唯一のソリューションを除いて、多くの簡単な修正ソリューションを一覧表示するページにリダイレクトされます。その1つである「プログラムのインストールとアンインストール」は、現在次の場所から入手できます。 https://support.Microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being -installed-or-removed

それは私のために問題を解決しました。

4

私は彼の同じ問題を抱えていましたが、win10ではwebからfixitツールを実行できないため、次のハックを行ってWindows 10ラップトップからAsus Smart Gestureをアンインストールしました。

  1. お使いのPCがWin10ではないと考えるようにMSサイトを偽造する必要があります。 Chromeアドインをインストールして、chromeブラウザのユーザーエージェントを変更して、IE9と以前のバージョンのWindowsであると考えました:Mozilla /5.0(互換性あり; MSIE 9.0; Windows NT 6.1; Trident/5.0)

  2. これにより、修正ボタンが表示され、ツールのポータブルバージョンをダウンロードできます(ネットワークに接続されていないクライアントで使用する必要がある場合)。

  3. 私はダウンロードして、fixitpというフォルダーのダウンロードライブラリに解凍しました。

  4. Exeファイルを直接実行すると、厄介なスクリプトエラーが発生します。それを回避するために私が行ったのは、Resourcesフォルダーに移動してから、Troubleshootersフォルダーに移動することでした。

  5. Program_Install_and_Uninstall.diagcabを実行したところ、Asus SmartGestureプログラムを正常にアンインストールできました。

  6. 次に、ASUSのSmart Gestureの新しいバージョンをサイトからインストールしました。

アンインストールできないインストール済みアプリは、この同じプロセスで解決できると思います。これが実行されている他のアプリに実行されていないだけです。

幸運を。

4
Vince

アップグレードMSIでは、MSIに新しいProductCode、増分されたProductVersion(最初の3つのフィールド)、および同じUpgradeCodeが必要です。したがって、Burnパートがあなたが何をしていると思うかに応じて、実際にアップグレードを取得しているのかどうかははっきりしません。同じProductCodeを持っているため、アップグレードできません。 (適切なアップグレードを行うには、MSIにMajorUpgrade要素が必要です)。したがって、実際に完全なアップグレードを取得しているかどうかについては、いくつか疑問があります。インストール済みのMSIを完全なアップグレードに置き換え、バージョンの高い製品を使用する場合は、MajorUpgradeを使用します。

そのため、BurnはMSIファイルを再インストールしてインプレース更新を行うことを決定した可能性があり(これは更新ではなくパッチのようなものです)、カスタムアクションまたはWiXユーティリティ関数(ユーザーアカウントを作成するカスタムアクションです)。実行した場合、エラーの最も可能性の高い理由は、BurnがMSIファイルを再インストールすることによって新しいMSIを更新として再インストールし、一部のカスタムアクションが単に再び実行されたということです。それを削除する実際のアンインストール。または、MSIのProductVersionが同じで、メンテナンスモードの修復が行われたため、カスタムアクションが再度実行されました。

アップグレードの詳細なログを取得して、何が起こっているのかを正確に確認します。

アップグレードが必要だと言いますが、MSIは実際にアップグレードを実行するように構築されておらず、ユーザーアカウントを作成するためにWiX util Userがあるかどうかはわかりません。また、新しいMSIのProductVersionをインクリメントしたかどうかもわかりません。そのため、Burnが何をするかについて、より多くの推測が必要になります。詳細ログは、それがカスタムアクションの問題なのか他の何かなのか、どのような更新(ある場合)を行っているのかを示します。

2
PhilDW

別のプログラムをアンインストールしても同じ問題が発生しました。このFix-Itで問題が解決しました: https://support.Microsoft.com/en-us/mats/program_install_and_uninstall/en

アップデートノート:fix-itファイルをダウンロードするために、Windows 10で古いユーザーエージェントをエミュレートする必要はなくなりました。

Update 2:Chris Johnson 言及 として、MicrosoftはEasy Fixを中止したため、上記のリンクもう機能しません。

1
MrFusion

最近これに遭遇しました。私にとっては、古いバージョンと新しいバージョンのインストーラーの両方の名前を同じに保つことで、これは私にとってうまくいきました。なぜそれが機能するかはわかりませんが、msiを使用する際のベストプラクティスのいくつかは、インストーラーの名前を同じに保つことです。

ケースをサポートするためのいくつかのリンク–

  1. http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/KB2918614-td7596942.html

  2. https://community.flexerasoftware.com/showthread.php?189045-Upgrade-failed-with-Error-1316&highlight=error+1316+account+already+exists

1
Nikhil Setty