Как сделать так, чтобы приложение choco install отображалось в разделе "Программы и компоненты"?

Я устанавливаю этот MSI-файл с помощью chocolatey, который установит пакет компилятора Microsoft Visual C ++. для Python 2.7, так как я обновляю nupkg vcpython27.

Когда я запускаю эту команду вручную в окне CMD.exe, установка отображается в «Программы и компоненты», как и ожидалось:

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

Однако при запуске через choco install <packagename> в «Программы и компоненты» ничего не отображается.

Если посмотреть на silentArgs в chocolateyinstall.ps1, silentArgs являются установлен в:

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

При поиске в regedit «Пакет компилятора Microsoft Visual C ++ для Python 2.7» после обычной установки msiexec из командной строки CMD.exe я обнаружил следующие ключи:

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 Pro.

Как мне choco install и сделать так, чтобы это приложение отображалось в разделе «Программы и компоненты»?


person fredrik    schedule 11.02.2016    source источник


Ответы (1)


Изменение следующего:

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

...в:

Install-ChocolateyPackage @packageArgs

... заставил его отображаться в "Программы и компоненты", и теперь его можно удалить оттуда, а также через choco uninstall vcpython27.

Я считаю, что все это было результатом того, что я включил $fileType в качестве аргумента, хотя эта переменная никогда не определялась. Итак, вы могли предположить, что установка завершится неудачно, но этого не произошло. Также был подан отчет об ошибке.

person fredrik    schedule 11.02.2016
comment
Хотя я не вникал в это, я подозреваю, что есть / была какая-то проблема с побегом, что означало, что тихие аргументы не передавались правильно команде установки, но при отправке в виде буквального массива это сработало. Однако это полное предположение. Рад слышать, что у вас все работает! - person Gary Ewan Park; 11.02.2016
comment
Похоже, что оригинальная установка choco не удалась (было бы полезно вести журнал). Единственный способ, при котором он не отобразится в «Программы и компоненты», - это сбой MSI. Чтобы было ясно, Chocolatey не управляет приложениями, зарегистрированными в этой системе должным образом, это работа MSI. Chocolatey - это просто оболочка вокруг MSI. - person Anthony Mastrean; 16.02.2016