私は通常、Windows XPボックスに通常のユーザーとしてログインしています。ソフトウェア更新プログラムをインストールするときに、管理者としてログオフして再度ログオンしたくない場合がありますが、インストーラーexeを右クリックし、「実行...」を選択して管理者アカウントから実行します。ただし、このオプションはexeファイルにのみ存在し、msiファイルには存在しないようです。
msiファイルを別のアカウントで実行する方法はありますか?それとも何らかの理由でお勧めできませんか?
私は通常、Windows XPボックスに通常のユーザーとしてログインしています。ソフトウェア更新プログラムをインストールするときに、管理者としてログオフして再度ログオンしたくない場合がありますが、インストーラーexeを右クリックし、「実行...」を選択して管理者アカウントから実行します。ただし、このオプションはexeファイルにのみ存在し、msiファイルには存在しないようです。
msiファイルを別のアカウントで実行する方法はありますか?それとも何らかの理由でお勧めできませんか?
回答:
.msiファイルはmsiexec.exeで実行できるため、runasコマンドと組み合わせて、目的を達成できます。
runas /user:administrator "msiexec /i <path and filename of your msi>"
ファイルへのフルパスが推奨されているため、引用符が必要な場合があり、バックスラッシュでエスケープする必要があります\
:
runas /user:administrator "msiexec /i \"<path and filename of your msi>\""
^^ ^^
msiexec /a package.msi
見えます-TechNet のmsiexec
ページを参照してください(これはServer 2003用ですが、XPヘルプシステムの対応するページのコンテンツと同じように見えます)。
管理者としていつでもコマンドプロンプトを開き(runasを右クリックするか、start-> run-> runas / user:administrator cmd)、MSIが存在するディレクトリに移動して、msiexec / i product.msiを実行できます。
または、これをレジスタに追加します。HKEY_CLASSES_ROOT\ Msi.Package \ shell \ runas \ command値:インストール&as ... HKEY_CLASSES_ROOT \ Msi.Package \ shell \ runas \ command値:msiexec / i "%1"
msiexec.exe /I "MyFile.msi" /QN /L*V "C:\msilog.log"
(必要に応じてパスを更新します)。Runasは問題なく動作するはずです。昇格したコマンドプロンプトの方が簡単です。