Windows Tips & News

コンテキストメニューの抽出コマンドをMSIファイルに追加

MSIパッケージをお持ちの場合は、アプリをインストールせずにそのコンテンツを抽出することをお勧めします。 これは、サードパーティのツールを使用せずにすばやく実行できます。 Windowsには、操作に必要なすべてのものがすでに付属しています。 この記事では、MSIファイルのコンテキストメニューに便利なコマンド「抽出」を追加する方法を説明します。

Windowsは、Windowsインストーラーの一部であるmsiexecアプリを介してMSIパッケージを処理します。 これは、多数のコマンドラインスイッチをサポートする組み込みツールです。 次のコマンドを実行すると、それらについて知ることができます。

  1. 押す 勝つ + NS キーボードのショートカットキーを使用して、[実行]ダイアログを開きます。
  2. [実行]ボックスに次のように入力します。
    msiexec /?
  3. Windowsインストーラーは、ヘルプの内容をウィンドウに表示します。

次のスイッチをサポートします。

インストールオプション
製品をインストールまたは構成します
/ a管理インストール-ネットワークに製品をインストールします
/NS [/ t] [/ g]
製品をアドバタイズします-mはすべてのユーザーに、uは現在のユーザーに
製品をアンインストールします
表示オプション
/quiet
静かなモード、ユーザーの操作なし
/passive
無人モード-プログレスバーのみ
/q[n|b|r|f]
ユーザーインターフェイスレベルを設定します
n-UIなし
b-基本的なUI
r-UIの削減
f-フルUI(デフォルト)
/help
ヘルプ情報
再起動オプション
/norestart
インストールが完了した後は再起動しないでください
/promptrestart
必要に応じてユーザーに再起動を促す
/forcerestart
インストール後は必ずコンピュータを再起動してください
ロギングオプション
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
i-ステータスメッセージ
w-致命的ではない警告
e-すべてのエラーメッセージ
a-アクションの開始
r-アクション固有のレコード
u-ユーザーリクエスト
c-初期UIパラメーター
m-メモリ不足または致命的な終了情報
o-ディスクスペース不足のメッセージ
p-ターミナルのプロパティ
v-詳細出力
x-追加のデバッグ情報
+-既存のログファイルに追加
! -各行をログにフラッシュします


* -vおよびxオプションを除くすべての情報をログに記録します
/log
/ l *に相当
更新オプション
/ update [; Update2.msp]
更新を適用します
/ uninstall [; Update2.msp] / package製品の更新を削除します
修理オプション
/ f [p | e | c | m | s | o | d | a | u | v]製品を修理します
p-ファイルが欠落している場合のみ
o-ファイルが見つからないか、古いバージョンがインストールされている場合(デフォルト)
e-ファイルが見つからないか、同等以上のバージョンがインストールされている場合
d-ファイルが見つからないか、別のバージョンがインストールされている場合
c-ファイルが見つからないか、チェックサムが計算値と一致しない場合
a-すべてのファイルを強制的に再インストールします
u-必要なすべてのユーザー固有のレジストリエントリ(デフォルト)
m-必要なすべてのコンピュータ固有のレジストリエントリ(デフォルト)
s-既存のすべてのショートカット(デフォルト)
v-ソースから実行し、ローカルパッケージを再キャッシュします
パブリックプロパティの設定
[PROPERTY = PropertyValue]

この状況に関係するオプションは/ aです。 「管理インストール-ネットワークに製品をインストールする」と記載されていますが、使用できます。 単一のMSIパッケージの内容を、 パッチ。 次のコマンドを使用できます。

msiexec / a "path \ to \ package.msi" / qb TARGETDIR = "path \ to \ the \ destination \ folder"

TARGETDIRは、すべてのパッケージに共通のプロパティであり、MSIパッケージの内容の宛先フォルダーを指定します。

スイッチ「/ qb」は、プロセス中に基本的なインターフェイスを表示するようにWindowsインストーラーに指示します。 [キャンセル]ボタンとプログレスバーのダイアログが表示されます。

たとえば、次のコマンドを使用して、FARManagerのMSIインストーラーを解凍できます。

msiexec / a "C:\ Users \ winaero \ Downloads \ Far30b4774.x64.20160902.msi" / qb TARGETDIR = "C:\ Users \ winaero \ Downloads \ Far"

ターゲットフォルダが存在しない場合は、自動的に作成されます。 私の場合、ダウンロードフォルダにFarサブフォルダが作成されます。

上記のコマンドは、[実行]ダイアログに直接入力できます。

上記の情報を使用して、ワンクリックでMSIファイルの内容を抽出するためのコンテキストメニューコマンドを追加できます。 これがその方法です。

コンテキストメニューの抽出コマンドをMSIファイルに追加

  1. 開ける レジストリエディタ.
  2. 次のレジストリキーに移動します。
    HKEY_CLASSES_ROOT \ Msi。 Package \ shell

    ヒント: ワンクリックで目的のレジストリキーにジャンプする方法.

  3. ここに新しいサブキーを作成し、名前を付けます エキス.
  4. 抽出キーの下に、新しいサブキーを作成して名前を付けます 指示:
  5. のデフォルト値を設定します 指示 次の文字列のサブキー:
    msiexec.exe / a "%1" / qb TARGETDIR = "%1目次"

    次のスクリーンショットを参照してください。

ファイルエクスプローラーでMSIパッケージを右クリックすると、新しいコンテキストメニュー項目[抽出]が表示されます。 これを実行すると、現在のフォルダに新しいディレクトリ「package_name.msiContents」が作成され、そこにパッケージのコンテンツが抽出されます。 次のスクリーンショットを参照してください。

時間を節約するために、すぐに使用できるレジストリファイルを作成しました。 以下のリンクを使用してダウンロードできます。

レジストリファイルをダウンロードする

UNDOファイルが含まれています。

このトリックは、Windows 10、Windows 8、およびWindows7で機能します。

一部のパッケージは管理インストールをサポートしていないことに注意してください。 この方法では抽出できません。 また、この方法でMSIパッケージを抽出すると、その管理用インストールポイント(抽出されたフォルダー)がサービス可能になります。 Windowsインストーラパッチ(MSP)を使用して更新できるため、パッケージがインストールされると、パッチも適用されます。

Windows ビルド 23451 (Dev) は、ファイル エクスプローラー、Windows スポットライト、ウィジェット、および [スタート] メニューを更新します

Windows ビルド 23451 (Dev) は、ファイル エクスプローラー、Windows スポットライト、ウィジェット、および [スタート] メニューを更新します

Dev チャネルの新しいリリースである Windows Build 23451 には、多数の新機能が含まれています。 ファイル エクスプローラーの最新の [詳細] ウィンドウ、Windows ス...

続きを読む

Google Chrome 113: WebGPU のサポート、選択したテキストの翻訳、15 のセキュリティ修正

5 月 3 日、Google は Chrome 113 を安定版ブランチにリリースしました。 このアップデートには、15 の個別の脆弱性に対処するセキュリティ修正と新機能の両方が含まれています。...

続きを読む

Windows 11 ビルド 22624.1690 (ベータ) は、設定に Facebook ウィジェット、通知バッジを追加します

Windows 11 ビルド 22624.1690 (ベータ) は、設定に Facebook ウィジェット、通知バッジを追加します

Windows Insider Program のベータ チャネルは、2 つのビルドを受け取りました。 Windows 11 ビルド 22624.1690 には、新しいサードパーティ ウィジェッ...

続きを読む