Instmsi.exe
Instmsi.exe は、Windows Installer 2.0 および以前のバージョンの Windows Installer をインストールするための再配布可能パッケージです。 Windows インストーラー 3.0 以降のバージョンの再頒布可能ファイルについては、 Windows インストーラー再頒布可能ファイル を参照してください。
ご使用のオペレーティング システムに同梱されている Windows インストーラーのバージョンの詳細については、「Windows インストーラーのリリース バージョン」を参照してください。
一部の再配布可能ファイルは、特定のバージョンのオペレーティング システムでは実行しないでください。 次の表は、どの Instmsi がどのオペレーティング システムと互換性があるかを示しています。
Instmsi.exeがこのバージョンのWindowsインストーラをインストールする場合 | Instmsi.exeはこれらのオペレーティングシステムで実行できます | Instmsi.exe はこれらのオペレーティング システムでは実行できません。 |
---|---|---|
Windows インストーラーバージョン 1.0 | Windows 95、Windows 98、Windows NT 4.0+SP3 | Windows Me、 Windows 2000、 Windows XP、 Windows Server 2003、 Windows Vista、 Windows Server 2008 |
Windows インストーラーバージョン 1.1 | Windows 95、Windows 98、Windows NT 4.0+SP3 | Windows Me、 Windows 2000、 Windows XP、 Windows Server 2003、 Windows Vista、 Windows Server 2008 |
Windows インストーラーバージョン 1.2 | Windows 95、 Windows 98、 Windows Me、 Windows NT 4.0+SP3 | Windows 2000、 Windows XP、 Windows Server 2003、 Windows Vista、 Windows Server 2008 |
Windows インストーラー バージョン 2.0 | Windows 95、 Windows 98、 Windows Me、 Windows NT 4.0+SP6、 Windows 2000 | Windows XP、 Windows Server 2003、 Windows Vista、 Windows Server 2008 |
たとえば、Windows インストーラー バージョン 1.1 を再配布するアプリケーションでは、再配布可能パッケージを実行する前に、オペレーティング システムが Windows NT 4.0 SP3 または Windows 98/95 であることを確認する必要があります。 再配布可能パッケージを使用するアプリケーションでは、Windows インストーラーの ANSI バージョンが Windows 98/95 にインストールされ、Unicode バージョンが Windows NT または Windows 2000 にインストールされていることも確認する必要があります。 一部のアプリケーションでは、Unicode バージョンの名前が InstMsiW に変更されることに注意してください。
構文
instmsi オプション
コマンド ライン オプション
コマンドラインオプションでは大文字と小文字は区別されません。
オプション | 説明 |
---|---|
/q | ブートストラップ アプリケーションの一部として Windows インストーラーを再配布するアプリケーションで使用します。 ユーザーには UI は表示されません。 ブートストラップ アプリケーションは、リターン コードをチェックして、Windows インストーラーのインストールを完了するために再起動が必要かどうかを判断する必要があります。 |
/t | デバッグ目的でのみ使用されます。 |
/c:"msiinst /delayreboot" | 遅延再起動オプション。 インストール中に使用されていたファイルを置き換える必要があった場合でも、Instmsi がユーザーに再起動を求めるのを防ぎます。 Instmsi がこのオプションで呼び出された場合、使用中のファイルを置き換える必要があった場合は ERROR_SUCCESS_REBOOT_REQUIRED が返されます。 使用中のファイルを置き換える必要がなかった場合は、ERROR_SUCCESS を返します。 Instmsi for Windows Installer 2.0 以降で利用できます。 遅延再起動の詳細については、「注釈」セクションを参照してください。 |
/c:"msiinst /delayrebootq" | 遅延再起動オプションの静かなバージョン。 ユーザーに対して UI は表示されません。 それ以外の場合、動作は前のオプションと同じです。 Instmsi for Windows Installer 2.0 以降で利用できます。 遅延再起動の詳細については、「注釈」セクションを参照してください。 |
/? | ヘルプを表示します。 |
解説
Instmsi.exe を使用して別のアプリケーションで Windows インストーラーをインストールするブートストラップ アプリケーションでは、追加のシステム再起動が必要になる場合があります。 これは、アプリケーションのインストールに必要な再起動に加えて、追加の再起動が必要になる可能性があります。
遅延再起動オプションは、使用中のファイルをインストールするセットアップ アプリケーションで Instmsi.exe を使用することによって発生する余分な再起動を排除したいセットアップ開発者にのみ推奨されます。
開発者は、再起動遅延オプションを使用するために、セットアップ アプリケーションで次の操作を行う必要があります。 このオプションは、バージョン 2.0 より前の Windows インストーラーをインストールする Instmsi.exe バージョンでは使用できません。
遅延再起動オプションを使用するには
遅延再起動コマンド ライン オプションのいずれかを使用して Instmsi.exe を呼び出します。
ERROR_SUCCESS または ERROR_SUCCESS_REBOOT_REQUIRED が返った場合は成功として扱います。
次の InstallerLocation 値から、新しくインストールされた Windows インストーラー バイナリを含むフォルダーへのパスを取得します。
HKEY_LOCAL_MACHINE\ソフトウェア\Microsoft\Windows\CurrentVersion\インストーラー
この値は、 REG_SZ型です。
現在のディレクトリを手順 3 で取得したパスに設定します。
アプリケーション パッケージで Msiexec を呼び出し、アプリケーションに固有の他のセットアップ コードを実行します。 セットアップ アプリケーションが MsiInstallProduct を使用する場合、アプリケーションは手順 3 で取得した場所から MSI.DLL をロードする必要があります。
Note
手順 3 で取得した場所にある新しい MSI.DLL に対して LoadLibrary を呼び出すアプリケーションは、プロセス内に古いバージョンの MSI.DLL がまだロードされていないことを確認する必要があります。 プロセス内に古いバージョンの MSI.DLL がロードされている場合は、新しい MSI.DLL の LoadLibrary 呼び出しの前に、プロセス アドレス空間からアンロードする必要があります。
手順 (5) で再起動が不要で、手順 (1) で Instmsi.exe が ERROR_SUCCESS_REBOOT_REQUIRED を返した場合は、システム上の Windows インストーラー バイナリのセットアップを完了するために再起動をユーザーに求めます。 ただし、手順(5)で再起動が発生した場合は、追加の手順は必要ありません。
Instmsi.exe は、 Windows Installer Developers 向け Windows SDK コンポーネント で入手できます。
関連トピック