Win7 64 ビット システムを使用しています。私のコンピューターには、exe インストーラーを使用して 32 ビット プログラムがインストールされています。つまり、msi によってインストールされたものではありません。そのバージョンが 1.0 だとしましょう。このプログラム フォルダには、クリックするとこのプログラムをアンインストールする uninstall.exe ファイルがあります。
これで、次のバージョン 2.0 の wise for windows インストーラー 5.0 を使用して msi パッケージを作成しました。msi がファイルをインストールする前に、自分のシステムで msi 自体から uninstall.exe を呼び出し、既存のすべてのファイルを削除して、msi インストールがクリーンなものになるようにします。
ツールの msi スクリプトで、execute program from destination コマンドを使用してみました。「installvalidate」コマンドのすぐ下で呼び出されるexeのパスと名前を指定しました。しかし、私はエラーが発生します:
エラー 1721。この Windows インストーラー パッケージには問題があります。このインストールを完了するために必要なプログラムを実行できませんでした。サポート担当者またはパッケージ ベンダーにお問い合わせください。
この問題を解決するために、次のことを試しました。 1. 管理者アカウントを使用する 2. msi のコンテキスト メニューで [管理者としてインストール] オプションを提供する 2. ウイルス対策をオフにする 3. cmd で、「msiexec u/unregister」と入力して Enter キーを押します。コマンド プロンプトで、「msiexec /register」と入力します。
しかし、それは役に立ちませんでした。msi のインストール後に 2 つのコントロール パネル エントリが表示されるため、アンインストールを呼び出そうとしています。exe インストーラーおよび msi インストーラーから。
ログファイルを確認しました: 一部の抜粋...
アクションは 12:05:26 に終了しました: InstallValidate。戻り値 1. MSI (s) (6C:18) [12:05:26:714]: アクションを実行中: uninstallexe アクション 12:05:26: uninstallexe。アクション開始 12:05:26: uninstallexe。MSI (s) (6C:18) [12:05:26:714]: 注: 1: 2235 2: 3: ExtendedType 4: SELECT Action
, Type
, Source
, Target
, NULL, ExtendedType
FROM CustomAction
WHEREAction
= 'uninstallexe' MSI (s) (6C:18) [12:05:26:730]: 注: 1: 1721 2: uninstallexe 3: C:\Program Files (x86)\SOME_PROGRAM\ 4: uninstal.exe DEBUG : エラー 2835: ダイアログ ErrorDialog 内部エラー 2835 でコントロール ErrorIcon が見つかりませんでした。ErrorIcon、ErrorDialog エラー 1721。この Windows インストーラー パッケージには問題があります。このインストールを完了するために必要なプログラムを実行できませんでした。サポート担当者またはパッケージ ベンダーにお問い合わせください。アクション: uninstallexe、場所: C:\Program Files (x86)\SOME_PROGRAM\、コマンド: uninstal.exe MSI (s) (6C:18) [12:05:29:350]: 製品: SOME_PROGRAM 2.0 -- エラー 1721 . この Windows インストーラー パッケージには問題があります。このインストールを完了するために必要なプログラムを実行できませんでした。サポート担当者またはパッケージ ベンダーにお問い合わせください。アクション: uninstallexe、場所: C:\Program Files (x86)\SOME_PROGRAM\、
アクションは 12:05:29 に終了しました: uninstallexe。戻り値 3。アクションは 12:05:29 に終了しました: INSTALL。戻り値 3。
……あまり思いつきませんでした。