0

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, ExtendedTypeFROM CustomActionWHEREAction= '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。

……あまり思いつきませんでした。

4

1 に答える 1

0

あなたの投稿からは、外部プログラムがどのように開始されているか、および「msiスクリプトの宛先コマンドからプログラムを実行する」が何を意味するのかが明確ではありません(少なくとも私にとっては)。エラー 1721 は Windows インストーラーのエラーです。プログラムを実行する何らかのスクリプトを使用しているように見えるため、Windows インストーラーが外部プログラム (スクリプト) を開始していないため、外部プログラムではなく、スクリプトが失敗していることを意味します。したがって、外部プログラムや Windows インストーラーではなく、「スクリプト」に注目してください。

詳細ログが役立つ場合があります。msiexec /I [msi ファイルへのパス] /l*vx [テキスト ログ ファイルへのパス] でインストールを開始し、手がかりがあるかどうかを確認します。

実行が InstallValidate の前である場合、昇格して実行されないため、スクリプトに昇格された特権が必要な場合は失敗します。

于 2016-09-14T17:14:08.360 に答える