3

Я создаю свой собственный установщик с PackageMaker. Некоторое время он работал хорошо, но я хотел протестировать проблему, при которой удаляются файлы предыдущей версии, даже если каждая новая версия устанавливается в отдельную папку. Однажды я позволил себе выбрать пользовательскую папку для установки приложения (обычно она устанавливается в домашний каталог пользователя).

Теперь все последующие установки, даже предыдущие версии установщика, которые я не изменял, теперь устанавливаются в эту пользовательскую папку. По-видимому, это не проблема PackageMaker, а автоматизм PackageMaker, который проверяет предыдущую установку. Я могу обойти это путем изменения идентификатора пакета установщика, но я бы не хотел.

Как я могу получить доступ к базе данных пакетов установщика? Где я могу найти это и как я могу изменить это?

Это было бы полезно, в частности, для тестирования "чистой" установки в системе, в которой приложение никогда не устанавливалось ранее. Может быть, есть более простой способ, например, простая деинсталляция тоже подойдет.

Я надеюсь, что смогу вручную удалить мое приложение из списка установленных приложений. До сих пор я только нашел историю установки в каталоге Receipts.

1 ответ1

1

Через Twitter я получил совет по использованию инструмента pkgutil . Аргумент забудьте удаляет запись из базы данных установщика, но без удаления реальных файлов:

sudo pkgutil --forget com.appname

Чтобы увидеть список идентификаторов пакетов, используйте:

pkgutil --pkgs

или используйте регулярное выражение, чтобы показать только определенные записи:

pkgutil --pkgs=com.k*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .