【问题标题】:How can I create a Package Management/PowerShellGet/OneGet package from an .exe or .msi?如何从 .exe 或 .msi 创建包管理/PowerShellGet/OneGet 包?
【发布时间】:2016-11-22 16:56:04
【问题描述】:

我可以找到一大堆关于如何使用包管理(nee PowerShellGet (nee OneGet))安装包的信息,但我几乎可以找到关于创建的零信息> 那些包。

我确实找到了 this,它描述了如何使用 Publish-Module cmdlet 发布 PowerShell 模块,但我找不到任何关于如何创建任何其他类型的包的信息。

具体来说,我想创建两种类型:从 .MSI 和从 .EXE。 .EXE 我只需要安装在系统的某个地方,我需要能够更新 PATH 环境变量以允许用户运行它。对于 .MSI,我希望安装它(使用 msiexec),但如果这不可能,我可以使用其他方式。

我能找到的唯一与远程相关的信息来自 Chocolatey,这是一个早于包管理但包管理可以使用的系统(也许?有点?不太清楚?)。 Chocolatey 可以创建包,但这真的是唯一为包管理创建包的方法吗?

我在哪里可以找到有关如何完成这些包装任务的信息?

【问题讨论】:

    标签: powershell powershellget


    【解决方案1】:

    引用Microsoft

    PackageManagement 本质上是一个包管理聚合器。它为用户创建了一个统一且一致的 PowerShell 界面,并在后端提供了一个插件模型,不同的安装程序技术或包管理器可以使用 PackageManagement API 作为提供者插入。每个提供程序进一步管理一个或多个存储软件包的软件包源(存储库)。

    这意味着创建包的方法并不单一,这取决于您使用的包管理提供程序和/或包源。

    NuGet 被广泛记录,Chocolatey 也是如此(它有一个可用于包管理的插件)

    如果您希望安装自己的私有软件,而不是商用软件(最好只使用现有存储库之一),您将需要创建自己的提要/存储库。同样,这将取决于您使用的选项。例如,这方面的 NuGet 文档很容易获得。

    【讨论】:

    • 我 100% 清楚包管理是什么。我也知道 NuGet 是什么以及如何创建 NuGet 包。不过,这不是我问的。如何创建将安装 .MSI 或 .EXE 的 NuGet 包。
    • 你使用 Chocolatey。 PackageManagement 不管理任何包,只管理提供程序(它可能应该被称为 PackageManagementManagement)。如果您想管理 EXE/MSI 类型的包,您需要使用 Chocolatey 或其他供应商来执行此操作。 PackageManagement 不会取代 Chocolatey。
    • 詹姆斯在这里的回答可能不是人们想听到的,但它是正确的答案。
    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多