使用Chocolatey创建自己的包

时间:2013-12-06 09:35:58

标签: windows nuget package-managers chocolatey

我正在尝试使用名为Listary的应用程序为Chocolatey创建一个包。我已按照Chocolatey wiki以及文章here上的说明进行操作。

我还在http://chocolatey.org创建了一个帐户,并使用

设置了API密钥
  

nuget setApiKey -Source http://chocolatey.org/api/v2/

其中& ltapiKey>将替换为您的API密钥。

当我输入命令choco pack来创建NuGet包时,它说成功创建包,但当我使用 cinst Listary -source测试我刚创建的包时Listary.1.0.nupkg -force 它说

Invalid URI: The format of the URI could not be determined.

Command 'install' failed (sometimes this indicates a partial failure). Additional info/packages: Listary

这就是我在 Listary.nuspec 文件中的内容。

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
  <metadata>
    <id>Listary</id>
    <title>Listary</title>
    <version>1.0</version>
    <authors>Zhenheng Dai</authors>
    <owners>Zhenheng Dai</owners>
    <summary>Keep files at your fingertips. Listary is a unique search utility for Windows.</summary>
    <description>Listary is a unique search utility for Windows. Not only does it make file browsing truly flexible -- thanks to its multi-file managers support -- but the ultra-compact UI also redefines minimalism. The lightweight design doesn't stop it from providing various advanced features however, that may fit the needs of both casual and power users alike. All you have to do is just type the file name that you’re looking for, and Listary will display the search results at breakneck speed.</description>
    <projectUrl>http://www.listary.com</projectUrl>
    <tags>listary search find filemanager admin</tags>
    <copyright></copyright>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <releaseNotes></releaseNotes>
  </metadata>
  <files>
    <file src="tools\**" target="tools" />
  </files>
</package>

并且 chocolateyInstall.ps1 包含以下内容。

$packageName = 'Listary'
$installerType = 'exe'
$url = 'http://www.listary.com/download/Listary.exe'
$silentArgs = '/SP /VERYSILENT /NORESTART'
Install-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url"

1 个答案:

答案 0 :(得分:3)

https://github.com/chocolatey/choco/wiki/CreatePackages#testing-your-package (固定链接)

请注意,source不是nupkg,而是找到nupkg文件的目录。

在choco.exe(Chocolatey的转世)中,你只需指向一个nuspec或nupkg文件进行安装。