MSIExecを指定されたバージョンに強制的にアップグレードする方法


0

LibreOffice(バージョン5.3.2.2)を別のインストールの一部としてインストールしたいのですが、次の問題があります:

  • バージョン4.x以前が既にインストールされている場合、インストーラーは期待どおりにLibreOffice 5.3.2.2をインストールします。
  • 何もインストールされていない場合、インストーラーはLibreOffice 5.3.2.2を期待どおりにインストールします。
  • バージョン5.xがすでにインストールされている場合、インストーラーは何もしません。

5.xから5.3.2.2への更新を強制するために、どのパラメーターをコマンドラインに追加できますか?現在、私は次のコマンドラインを使用しています:

msiexec /i "<filename.msi>" /q

私はすでにパラメーターを試しましたREINSTALL=ALLが、これは機能していませんでした(5.xから5.3.2.2への更新はありません)。

MSIファイルにいくつかの変更を加える必要がある場合:私はPCにOrcaを持っているので、必要に応じてMSIファイルを変更できます。

何か案は?


@Daniel:OrcaはMSIエディターであり、必要な処理を実行できるパラメーターがない場合にMSIファイルを変更するために使用できます。
ドミニク

質問の分類に役立たないため、タグを削除しました。このタグは他の3つの質問にあり、これらのいずれもMSIエディターに関するものではありません。代わりにOrcaスクリーンリーダーを参照します。
ダニエルB

申し訳ありませんが、他のプログラムが存在することを知りませんでした:
ドミニク

回答:


1

一方、WindowsインストーラーSDKを使用して、私の質問に対する答えを見つけました。

msiexec /i "<filename.msi>" /q REINSTALL=ALL REINSTALLMODE=A

REINSTALLMODE=A同じ/異なる/古い/若い/であるかどうかにかかわらず、すべてのファイルを強制的に再インストールします)


コマンドは、プログラムをCドライブにのみインストールします。私のコマンドオプションを使用すると、宛先フォルダを制御できます。また、Cドライブが何らかの形で破損している場合に役立ちます。
ビスワプリヨ

0

msiexec /a pathtoMSIfile /qb TARGETDIR=pathtotargetfolder

  • 「/ qb」引数は、プロセスを完全にサイレントにしたい場合は、代わりに「/ qn」を使用する場合、アンパック中にシンプルなUIを表示するようインストーラーに指示します。

Msiexec

  • たとえば、FドライブにLibreOffice MSIファイルがあり、Eドライブにインストールしたいとします。管理者としてコマンドを入力するだけです

msiexec /a "F:\LibreOffice_5.3.3_Win_x64.msi" /qb TARGETDIR=E:\Libreoffice

インストールの進行状況を示す2つの画像があります Libreoffice Initial Libreoffice時間

  • このプロセスは、そのターゲットディレクトリ内の以前のインストールファイルをすべて上書きします。からにすべてのdllコピーすることを忘れないでください。(私の場合)でショートカットを作成し、そこからドラッグアンドドロップするだけで互換性のあるOfficeファイルを開くことができます。システムドライブ以外のプログラムをインストールできます。Libreoffice\System64Libreoffice\programE:\Libreoffice\program\soffice.exe --nologo

  • MSIをインストールするアプリもいくつかあります。これらを試してください:LessMSIUniversal ExtractorMSI Unpacker Utility


それはそれほど素晴らしいアイデアのように聞こえます。コンポーネントの登録(存在する場合)は更新されず、MSIデータベースに記録されているバージョンは更新されません。
ダニエルB

@DanielB私はこのプロセスで毎日それを使用していますが、何も問題はありませんでした。ファイルを右クリックして手動で開き、「開く」を選択できます。また、登録は必要ありません。
ビスワプリヨ

@Biswa:詳細な返信に感謝しますが、msiexec /i <filename>.msi <WHAT_TO_DO>=<OVERWRITE_EXISTING>(大文字をご容赦ください)のように見えるものを期待していました。WindowsインストーラのSDKを探していましたが、見つかりませんでした。これが存在しない場合、MSIエディター(Orcaなど)を使用して<filename> .msiを編集することでこれを実現できますか?
ドミニク

このプロセスには、SDK実行可能ファイルは必要ありません。Msiexecは、Windowsの組み込みソフトウェアです。そして、そのコマンドオプションを使用すると、どこにでもインストールできます。
ビスワプリヨ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.