当试图为一个程序创建一个静默安装程序时,我是否可以在tools文件夹中使用该程序的setup.exe并为它生成一个shim?如果是的话,那么安装到哪里呢?例如,我删除了tools文件夹中的所有项目,并将其放入setup.exe For ARM RVDS 4.1中。当我做choco pack时,它产生了一个垫片,但是现在我不知道该如何处理它,或者我是否做对了。
发布于 2020-02-28 14:36:42
您不希望为安装程序设置shim -您希望从chocolateyInstall.ps1调用安装程序来安装程序。在chocolateyInstall.ps1中如何对安装程序执行执行程序执行此操作的示例如下:
$packageInstallArgs = @{
PackageName = 'package-name'
FileType = 'exe'
SilentArgs = '/q /someOtherArguments' # This line is going to be installer specific, and is just a sample here
File = 'C:\Path\to\installer' # can be a relative path too
ValidExitCodes = 0, 1638 # array of acceptable return codes for the installer
}
Install-ChocolateyInstallPackage @packageInstallArgs如果您的
setup.exe嵌入到包中,则可以使用以下环境变量引用当前的包文件夹目录:$env:chocolateyPackageFolder。此变量仅存在于巧克力包安装的上下文中。有关巧克力环境变量的更多信息,请参见看这里。
有关上述代码的一些详细信息:
0)和重新启动所需的(1638)。有关标准安装程序退出代码的更多信息,请参见此页。搜索以ERROR_SUCCESS开头的错误代码,以查找您可能需要支持的成功代码。您可以选择为程序生成shims,而不是为了方便而自动放置在路径上,在这种情况下,不会自动生成shims。
程序的安装位置取决于安装程序的默认位置,以及安装程序是否允许您重写它。
请注意,虽然自动生成的shims将在卸载时自动删除,但是使用Install-BinFile创建的shims需要在使用Uninstall-BinFile从chocolateyUninstall.ps1卸载时手动删除。
下面是关于shims的更多信息:
发布于 2020-02-28 14:51:04
如果您将可执行文件放在tools文件夹中,那么当包安装时,巧克力将为它创建一个垫片。空间允许可执行文件在路径上可用。
您想要做的是在安装包时运行安装程序,并使用chocolateyInstall.ps1文件执行此操作。如果您运行choco new <packagename>,您将得到一个可以用作模板的示例chocolateyInstall.ps1文件。
https://stackoverflow.com/questions/60453522
复制相似问题