1 мин на чтение

Иногда при некорректном (например, ручном) удалении приложения не получается установить его повторно. На примере Check Point Endpoint Security VPN ошибка может быть такой:

Endpoint Security VPN build 860200405 is already installed on this computer

Информацию о ранее установленных пакетах macOS хранит в файле InstallHistory.plist, расположенном в папке /Library/Receipts/. Перейти в папку можно нажав в Finder сочетание клавиш Cmd+Shift+G и введя её адрес /Library/Receipts/.

В файле InstallHistory.plist можно найти информацию о пакете простым поиском. Например, для Check Point Endpoint Security VPN соответствующие строки будут выглядеть так:

<dict>
   <key>date</key>
   <date>2017-06-02T16:32:05Z</date>
   <key>displayName</key>
   <string>Endpoint Security VPN</string>
   <key>displayVersion</key>
   <string>860200405</string>
   <key>packageIdentifiers</key>
   <array>
      <string>com.checkpoint.pkg.epc</string>
   </array>
   <key>processName</key>
   <string>Installer</string>
</dict>

Просто так отредактировать InstallHistory.plist, открыв его в текстовом редакторе, не получится. Нужно воспользоваться Терминалом, для которого предусмотрена специальная команда по удалению из InstallHistory.plist информации об установленном пакете:

sudo pkgutil --forget packageIdentifier

packageIdentifier - это название требуемого пакета из InstallHistory.plist. Например, для того же Check Point Endpoint Security VPN нужна команда:

sudo pkgutil --forget com.checkpoint.pkg.epc

Так как используется sudo, то потребуется ввести пароль. Теперь повторная установка должна пройти без проблем.

Документация для утилиты pkgutil доступна здесь.


Комментарии из Telegram


Комментарии ВКонтакте