PowerShell DSCパッケージリソースを使用したEXEのインストール返信コード1619
-
20-12-2019 - |
質問
PowerShell DSCのパッケージリソースを使用してEXEをインストールしようとしています... PerforceのP4Vは特定です。これが私のコードです:
Configuration PerforceMachine
{
Node "SERVERNAME"
{
Package P4V
{
Ensure = "Present"
Name = "Perforce Visual Components"
Path = "\\nas\share\p4vinst64.exe"
ProductId = ''
Arguments = "/S /V/qn" # args for silent mode
LogPath = "$env:ProgramData\p4v_install.log"
}
}
}
.
これを実行するとき、これはPowerShellが私に与えるエラーです:
PowerShell provider MSFT_PackageResource failed to execute Set-TargetResource functionality with error message: The return code 1619 was not expected. Configuration is likely not
correct
+ CategoryInfo : InvalidOperation: (:) [], CimException
+ FullyQualifiedErrorId : ProviderOperationExecutionFailure
+ PSComputerName : SERVERNAME
.
Documentation に従って、戻りコード1619はMSIパッケージを開けられなかったことを意味します。ただし、手動でマシンにログインして「 \\ nas \ share \ share \ p4vinst64.exe / s / v / qn>」を実行すると、インストールは完璧に機能します。
これが失敗している理由を誰も知っていますか?あるいは、誰かが私にこれをトラブルシューティングする方法を教えてもらえますか?私がターミナルから得たエラー情報をすべて貼り付けました、私のログファイル(p4v_install.log)は0バイトのファイルであり、イベントビューアにイベントはありません。それ以上のトラブルシューティング方法がわからない!
edit :私はまたファイルリソースを使ってファイルをローカルにコピーしてからインストールしてからインストールしました。残念ながら、それは同じ結果で満たされました。
解決
P4V InstallShield Setupラッパーは、 localSystem を実行した場合、MSIファイルを誤ったパスに入れます。
私は機能する構成を開発することを管理しました、下記を参照してください。ここでは、ここではMSIファイルを定義された場所に置く/ Bスイッチがあります。突然の再起動を回避するためにすべてのユーザーとALLUSERS=1
に表示されるショートカットを取得するためにREBOOT=ReallySuppress
を追加しました(それ以外の場合は起こります)。
Configuration PerforceMachine
{
Package P4V
{
Ensure = "Present"
Name = "Perforce Visual Components"
Path = "C:\My\p4vinst64.exe"
ProductId = ''
Arguments = '/b"C:\Windows\Temp\PerforceClient" /S /V"/qn ALLUSERS=1 REBOOT=ReallySuppress"' # args for silent mode
}
}
. 他のヒント
まあ、ここで起こることは、パッケージがインストールされることです(まだP4Vinst64.exeでテストされていません!そのため、Packがエラーとして開くことができない理由はわからない)ですが、ProductID
値を指定しなかったため、検証インストールの終わりに失敗します。それがあなたが見ているエラーです。Package
リソースは、GUIDとして表されるProductIDを指定して、.exeパッケージまたはMSIをインストールするのには無駄です。
代わりにWindowsProcess
リソースを使用できます。