This commit is contained in:
+44
-6
@@ -265,17 +265,19 @@ Identity берётся из переменных репозитория, а е
|
||||
# Разово: отрисовать логотипы и иконку exe (уже в репозитории, повторить после правок)
|
||||
powershell -File Packaging\New-Assets.ps1
|
||||
|
||||
# Проверка на своей машине: только своя архитектура
|
||||
powershell -File Packaging\build-msix.ps1 -Architectures x64
|
||||
# Проверка на своей машине
|
||||
powershell -File Packaging\build-msix.ps1
|
||||
|
||||
# Для Partner Center — identity та, что зарезервирована там
|
||||
powershell -File Packaging\build-msix.ps1 -Version 1.0.1.0 `
|
||||
-IdentityName 12345AleksandrNeichev.CursorLang -Publisher "CN=ABCD1234-..."
|
||||
```
|
||||
|
||||
Результат — `artifacts\packages\CursorLang-<версия>.msixbundle`, покрывающий x64
|
||||
и arm64; рядом лежат пакеты отдельных архитектур. Bundle загружается в Partner
|
||||
Center как есть.
|
||||
Результат — `artifacts\packages\CursorLang-<версия>-x64.msix`. Он загружается в
|
||||
Partner Center как есть.
|
||||
|
||||
Собирается только x64. Сборка под arm64 удвоила бы вес каждого релиза ради
|
||||
машин, которые и так выполняют x64 через эмуляцию.
|
||||
|
||||
Здесь ничего не подписывается: подпись на пакет ставит сам Store, а для установки
|
||||
на эту машину вместо пакета регистрируется layout — см. `-Install` ниже.
|
||||
@@ -286,7 +288,7 @@ MSIX не может установить среду выполнения как
|
||||
Чтобы посмотреть, как пакет работает на этой машине, соберите его с `-Install`:
|
||||
|
||||
```powershell
|
||||
pwsh -File Packaging\build-msix.ps1 -Architectures x64 -Install
|
||||
pwsh -File Packaging\build-msix.ps1 -Install
|
||||
```
|
||||
|
||||
Приложение появится в меню «Пуск» как любое установленное. Регистрируется не сам
|
||||
@@ -302,3 +304,39 @@ pwsh -File Packaging\build-msix.ps1 -Architectures x64 -Install
|
||||
```powershell
|
||||
Remove-AppxPackage (Get-AppxPackage -Name AleksandrNeichev.CursorLang).PackageFullName
|
||||
```
|
||||
|
||||
## Сборка установщика
|
||||
|
||||
То же приложение собирается и обычным MSI — чтобы раздавать помимо Store: пока
|
||||
Store не вынес решение или если так его и не вынесет. Ставить ничего, кроме .NET
|
||||
SDK, не нужно: WiX приезжает пакетом NuGet, как и `makeappx`.
|
||||
|
||||
```powershell
|
||||
# Собрать и запустить — посмотреть глазами пользователя
|
||||
pwsh -File Packaging\build-installer.ps1 -Install
|
||||
|
||||
# Всё, что нужно релизу
|
||||
pwsh -File Packaging\build-installer.ps1 -Version 1.0.1
|
||||
```
|
||||
|
||||
Результат — `artifacts\installers\CursorLang-<версия>-x64.msi`. Всё лежит внутри
|
||||
`.msi` — отдельного архива рядом с ним нет.
|
||||
|
||||
Устанавливается только для текущего пользователя, в
|
||||
`%LOCALAPPDATA%\Programs\CursorLang`, поэтому не просит ни прав администратора,
|
||||
ни подтверждения. Удаление идёт через «Параметры» — «Приложения», как у любой
|
||||
программы, и уносит с собой запись автозапуска: иначе Windows продолжала бы
|
||||
показывать в автозагрузке приложение, которого уже нет.
|
||||
|
||||
Установщик никто не подписывает, поэтому Windows предупреждает о неизвестном
|
||||
издателе и пользователю приходится настоять. Покупка сертификата это сразу не
|
||||
снимет: SmartScreen смотрит на репутацию, а у нового сертификата её нет, пока
|
||||
приложение не наберёт установок.
|
||||
|
||||
Про проект WiX стоит знать две вещи, прежде чем его править. Он закреплён на WiX
|
||||
5, а не на нынешней 7: начиная с шестой версии инструмент требует принимать
|
||||
лицензию Open Source Maintenance Fee — бесплатную при доходе меньше $10 000 в
|
||||
год, но принимать её должен человек, а не сборочный скрипт. И он отключает три
|
||||
проверки ICE: MSI по-прежнему исходит из установки на всю машину, а установка в
|
||||
профиль пользователя нарушает правила, которые описывают ровно то, что здесь и
|
||||
задумано.
|
||||
|
||||
Reference in New Issue
Block a user