fixed msi pipeline
Release / release (push) Successful in 5m10s

This commit is contained in:
2026-08-13 17:13:51 +05:00
parent 03a3dd4c6e
commit 5dea510bbc
3 changed files with 55 additions and 20 deletions
+19 -6
View File
@@ -16,12 +16,25 @@
<OutputType>Package</OutputType> <OutputType>Package</OutputType>
<!-- <!--
MSI validation still assumes an installation for the whole machine. The ICE checks run inside the Windows Installer service, and a build
Installing into the user's own profile trips three of its rules: a agent has no access to it: every single check comes back as WIX0217,
component whose key path is a file (ICE38), a folder it wants listed "The Windows Installer Service could not be accessed", and the build
for removal (ICE64), and a warning that the files will not follow other fails on close to a hundred of them. Since the release is built by the
users of the machine (ICE91). All three describe exactly what was agent, validation cannot be part of it.
intended here, so they are turned off rather than worked around.
It stays switchable rather than deleted: -p:SuppressValidation=false
turns it back on where the service does answer, which is any ordinary
desktop machine.
-->
<SuppressValidation Condition="'$(SuppressValidation)' == ''">true</SuppressValidation>
<!--
What validation says when it does run. MSI still assumes an
installation for the whole machine, and installing into the user's own
profile trips three of its rules: a component whose key path is a file
(ICE38), a folder it wants listed for removal (ICE64), and a warning
that the files will not follow other users of the machine (ICE91). All
three describe exactly what was intended here.
--> -->
<SuppressIces>ICE38;ICE64;ICE91</SuppressIces> <SuppressIces>ICE38;ICE64;ICE91</SuppressIces>
+18 -7
View File
@@ -333,10 +333,21 @@ pwsh -File Packaging\build-installer.ps1 -Version 1.0.1
снимет: SmartScreen смотрит на репутацию, а у нового сертификата её нет, пока снимет: SmartScreen смотрит на репутацию, а у нового сертификата её нет, пока
приложение не наберёт установок. приложение не наберёт установок.
Про проект WiX стоит знать две вещи, прежде чем его править. Он закреплён на WiX Про проект WiX стоит знать две вещи, прежде чем его править.
5, а не на нынешней 7: начиная с шестой версии инструмент требует принимать
лицензию Open Source Maintenance Fee — бесплатную при доходе меньше $10 000 в Он закреплён на WiX 5, а не на нынешней 7: начиная с шестой версии инструмент
год, но принимать её должен человек, а не сборочный скрипт. И он отключает три требует принимать лицензию Open Source Maintenance Fee — бесплатную при доходе
проверки ICE: MSI по-прежнему исходит из установки на всю машину, а установка в меньше $10 000 в год, но принимать её должен человек, а не сборочный скрипт.
профиль пользователя нарушает правила, которые описывают ровно то, что здесь и
задумано. И он собирается без проверки MSI. Проверки ICE выполняются службой установщика
Windows, до которой сборочному агенту не дотянуться: каждая возвращается
ошибкой `WIX0217`, и сборка умирает на без малого сотне таких. На обычной
машине служба отвечает, и проверка включается одним ключом:
```powershell
dotnet build Packaging\Installer\CursorLang.wixproj -p:SuppressValidation=false
```
Три правила остаются подавленными и тогда. MSI исходит из установки на всю
машину, а установка в профиль пользователя нарушает правила, которые описывают
ровно то, что здесь и задумано.
+18 -7
View File
@@ -327,10 +327,21 @@ user has to insist. Buying a certificate would not silence it at once either:
SmartScreen goes by reputation, and a fresh certificate has none until enough SmartScreen goes by reputation, and a fresh certificate has none until enough
people have installed the application. people have installed the application.
Two things about the WiX project are worth knowing before touching it. It pins Two things about the WiX project are worth knowing before touching it.
WiX 5 rather than the current 7: from version 6 the toolset asks every build to
accept the Open Source Maintenance Fee licence — free below $10,000 of yearly It pins WiX 5 rather than the current 7: from version 6 the toolset asks every
revenue, but a decision for a person rather than for a build script. And it turns build to accept the Open Source Maintenance Fee licence — free below $10,000 of
off three ICE validation rules: MSI still assumes an installation for the whole yearly revenue, but a decision for a person rather than for a build script.
machine, and installing into the user's own profile trips rules that describe
exactly what was intended here. And it builds without MSI validation. The ICE checks run inside the Windows
Installer service, which a build agent cannot reach: every check comes back as
`WIX0217` and the build dies on close to a hundred of them. On an ordinary
desktop machine the service does answer, and validation is one switch away:
```powershell
dotnet build Packaging\Installer\CursorLang.wixproj -p:SuppressValidation=false
```
Three of its rules stay suppressed even then. MSI assumes an installation for the
whole machine, and installing into the user's own profile trips rules that
describe exactly what was intended here.