【问题标题】:How to make choco install application so it shows in "Programs and Features"?如何让 choco install 应用程序显示在“程序和功能”中?
【发布时间】:2016-05-21 21:03:35
【问题描述】:

我正在使用 Chocolatey 安装 this .msi,它将安装 Microsoft Visual C++ Compiler Package for Python 2.7,因为我正在更新 vcpython27 nupkg。

当我在 CMD.exe 窗口中手动运行此命令时,安装会按预期显示在“程序和功能”中:

msiexec /i VCForPython27.msi /qn /norestart /l*v install.log

但是,当运行 choco install <packagename> 时,“程序和功能”中没有显示任何内容。

查看chocolateyinstall.ps1 中的silentArgs 时,silentArgs 设置为:

/qn /norestart /l*v `"$env:TEMP\chocolatey\$($packageName)\$($packageName).MsiInstall.log`"

在从 CMD.exe 提示符进行常规 msiexec 安装后,在 regedit 中搜索“Microsoft Visual C++ Compiler Package for Python 2.7”时,我发现以下键:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Installer\Products\8A4152964845CF540BEAEBD27F7A8519
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-21-650255990-4017621559-2147617900-1000\Products\8A4152964845CF540BEAEBD27F7A8519\InstallProperties
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{692514A8-5484-45FC-B0AE-BE2DF7A75891}
HKEY_USERS\S-1-5-21-650255990-4017621559-2147617900-1000\SOFTWARE\Microsoft\Installer\Products\8A4152964845CF540BEAEBD27F7A8519
HKEY_USERS\S-1-5-21-650255990-4017621559-2147617900-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC

如果我卸载然后通过 choco 安装,我只能找到以下键:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC
HKEY_USERS\S-1-5-21-650255990-4017621559-2147617900-1000\SOFTWARE\Microsoft\Windows\CurrentVersion\UFH\SHC

我尝试将ALLUSERS=1 附加到silentArgs,但这没有任何区别。

这一切现在都可以使用当前发布的vcpython27 版本进行测试,该版本显示相同的问题:

choco install vcpython27 -y

我使用的是 64 位 Windows 10 专业版。

我如何choco install 并让这个应用程序显示在“程序和功能”下?

【问题讨论】:

    标签: chocolatey


    【解决方案1】:

    更改以下内容:

    Install-ChocolateyPackage $packageName $fileType $silentArgs $url -validExitCodes $validExitCodes -checksum $checksum -checksumType $checksumType
    

    ...进入:

    Install-ChocolateyPackage @packageArgs
    

    ...让它显示在“程序和功能”中,现在可以从那里卸载,也可以通过 choco uninstall vcpython27 卸载。

    我相信所有这一切都是因为我将$fileType 作为参数包含在内,而这个变量从未被定义过。因此,您会假设安装应该失败,但事实并非如此。因此还提交了bug report

    【讨论】:

    • 虽然我没有深入研究这个问题,但我怀疑存在/正在发生一些转义问题,这意味着静默参数没有正确传递给安装命令,而是作为文字发送时阵列,它工作。这是一个完整的猜测。很高兴听到你让它工作了!
    • 原来的 choco 安装似乎失败了(日志会有所帮助)。它不会出现在程序和功能中的唯一方法是 MSI 失败。需要明确的是,Chocolatey 没有正确管理向该系统注册的应用程序,这是 MSI 的工作。 Chocolatey “只是” MSI 的包装。
    猜你喜欢
    • 1970-01-01
    • 2011-04-28
    • 2012-12-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多