Создание установщика приложения Mac OS из проекта.Net Core

Я совершенно новичок в Mac OS, и у меня есть приложение, написанное на базе кода.Net Core. Теперь все, что я хочу, это установить его на компьютерах Mac OS. У меня вопрос, как я могу создать файл установщика (.DMG)? На данный момент My Visual Studio для Windows создал файл.dll со всеми другими зависимостями в папке. Также на данный момент большинство значений конфигурации я жестко запрограммировал, но в сборке релиза его должен выбрать конечный пользователь. Так как я могу запросить у них необходимые каталоги? Если вы можете предоставить мне ссылку на документацию инструмента или любого рода предложения будет принята с благодарностью. В настоящий момент, если я хочу запустить свое приложение на Mac, я должен использовать Terminal, а затем dotnet myApplication.dll для запуска приложения. Моей конечной целью было бы попросить пользователя указать все необходимые пути к файлам и в конце создать демон уровня системы (аналог службы Windows), чтобы он всегда оставался активным. Поможет ли Xcode в этой ситуации? Я уже пытался открыть свой основной проект.Net с помощью xcode, но он не смог загрузить, говоря о неподдерживаемом типе проекта.

Заранее благодарю за помощь!

1 ответ

Если вы хотите использовать стандартный установщик macOS для распространения приложения.net Core, вам нужно создать файл.pkg. Кажется, есть способы сделать это на консоли или с помощью сторонних инструментов

sudo pkgbuild -install-location / Applications -component / path / to / your / application./Desktop/YourPackage.pkg

Существует более старая man-страница для pkgbuild, или вы можете попробовать запустить man pkgbuild на вашем Mac.

Я не пробовал этого, но создание.pkg - это нормальный способ установки чего-либо на Mac для приложений, в которых нельзя просто перетащить.app в папку "Приложение". (приложения macOS на самом деле являются каталогами со специальной структурой)

.DMG - это просто образ диска - он ничего не "делает", это просто контейнер для файлов. Вы можете создать его с помощью Дисковой утилиты.

Другие вопросы по тегам