2017-11-22 1 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 파일의 복사본입니다.

<?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에 의한 것으로 의심 ciscojabbertest2.nuspec. 그 결과, 당신은 어떤 값이없는 해시 문자의 키를 얻고있다. 다음

변경이 :

$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 
관련 문제