2017-11-22 3 views
2

ファイル共有のmsiファイルを使用するカスタムChocolateyパッケージを作成しようとしていますが、以下のエラーが表示されます。私は、このプロセスの間、ほとんどのエラーのトラブルシューティングをすることができましたが、私はこれを理解することはできません。カスタムChocolateyパッケージを設定中にヌルキーエラーが発生する

誰でもこの問題を解決する方法を知っているのですか、問題をデバッグするために何ができるか知っていますか?以下は

エラー

ERROR: A null key is not allowed in a hash literal. 
The install of ciscojabbertest2 was NOT successful. 
Error while running 'C:\ProgramData\chocolatey\lib\ciscojabbertest2\tools\chocolateyinstall.ps1'. 

私nuspecファイルと私のchocolateyinstall.ps1ファイルのコピーです。

ciscojabbertest2.nuspec

<?xml version="1.0" encoding="utf-8"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2015/06/nuspec.xsd"> 
    <metadata> 
    <id>ciscojabbertest2</id> 
    <version>11.9.1.55716</version> 
    <title>ciscojabbertest2</title> 
    <authors>Cisco Systems, Inc</authors> 
    <tags>Installer_MSI_Database</tags> 
    <summary>Cisco Jabber</summary> 
    <description>Cisco Jabber</description> 
    </metadata> 
    <files> 
    <file src="tools\**" target="tools" /> 
    </files> 
</package> 

chocolateyinstall.ps1

$ErrorActionPreference = 'Stop'; 
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 
$fileLocation = '\\WIN-5LEH3K6JCM3\Software_Test\CiscoJabberSetup.msi' 

$packageArgs = @{ 
    packageName = $env:ChocolateyPackageName 
    unzipLocation = $toolsDir 
    fileType  = 'MSI' 
    $file   = $fileLocation 

    softwareName = 'Cisco Jabber*' 

    checksum  = 'A027601E0975339286EEECF593D83FF71FA64902B46A8F10F93B5E63663A215F' 
    checksumType = 'sha256' 

    silentArgs = "/quiet CLEAR=1" 
    validExitCodes= @(0, 3010, 1641) 
} 

Install-ChocolateyInstallPackage @packageArgs 
+1

この質問はhttps://chocolatey.org/docs/troubleshootingに追加されました。サイトの次回の展開時に更新されます。 – ferventcoder

答えて

2

私はあなたが見ているエラーが$file未定義の変数が原因であると思われます。結果として、値を持たないハッシュリテラルのキーを取得しています。次へ

変更は:

$ErrorActionPreference = 'Stop'; 
$toolsDir  = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" 
$fileLocation = '\\WIN-5LEH3K6JCM3\Software_Test\CiscoJabberSetup.msi' 

$packageArgs = @{ 
    packageName = $env:ChocolateyPackageName 
    unzipLocation = $toolsDir 
    fileType  = 'MSI' 
    file   = $fileLocation 

    softwareName = 'Cisco Jabber*' 

    checksum  = 'A027601E0975339286EEECF593D83FF71FA64902B46A8F10F93B5E63663A215F' 
    checksumType = 'sha256' 

    silentArgs  = "/quiet CLEAR=1" 
    validExitCodes = @(0, 3010, 1641) 
} 

Install-ChocolateyInstallPackage @packageArgs 
関連する問題