Compare commits
4
Commits
v0.2.2
..
de43527642
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de43527642 | ||
|
|
2c46f41db8 | ||
|
|
f75ab0f077 | ||
|
|
1aa9d9b44e |
@@ -16,25 +16,12 @@
|
|||||||
<OutputType>Package</OutputType>
|
<OutputType>Package</OutputType>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
The ICE checks run inside the Windows Installer service, and a build
|
MSI validation still assumes an installation for the whole machine.
|
||||||
agent has no access to it: every single check comes back as WIX0217,
|
Installing into the user's own profile trips three of its rules: a
|
||||||
"The Windows Installer Service could not be accessed", and the build
|
component whose key path is a file (ICE38), a folder it wants listed
|
||||||
fails on close to a hundred of them. Since the release is built by the
|
for removal (ICE64), and a warning that the files will not follow other
|
||||||
agent, validation cannot be part of it.
|
users of the machine (ICE91). All three describe exactly what was
|
||||||
|
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>
|
||||||
|
|
||||||
|
|||||||
+7
-18
@@ -333,21 +333,10 @@ pwsh -File Packaging\build-installer.ps1 -Version 1.0.1
|
|||||||
снимет: SmartScreen смотрит на репутацию, а у нового сертификата её нет, пока
|
снимет: SmartScreen смотрит на репутацию, а у нового сертификата её нет, пока
|
||||||
приложение не наберёт установок.
|
приложение не наберёт установок.
|
||||||
|
|
||||||
Про проект WiX стоит знать две вещи, прежде чем его править.
|
Про проект WiX стоит знать две вещи, прежде чем его править. Он закреплён на WiX
|
||||||
|
5, а не на нынешней 7: начиная с шестой версии инструмент требует принимать
|
||||||
Он закреплён на WiX 5, а не на нынешней 7: начиная с шестой версии инструмент
|
лицензию Open Source Maintenance Fee — бесплатную при доходе меньше $10 000 в
|
||||||
требует принимать лицензию Open Source Maintenance Fee — бесплатную при доходе
|
год, но принимать её должен человек, а не сборочный скрипт. И он отключает три
|
||||||
меньше $10 000 в год, но принимать её должен человек, а не сборочный скрипт.
|
проверки ICE: MSI по-прежнему исходит из установки на всю машину, а установка в
|
||||||
|
профиль пользователя нарушает правила, которые описывают ровно то, что здесь и
|
||||||
И он собирается без проверки MSI. Проверки ICE выполняются службой установщика
|
задумано.
|
||||||
Windows, до которой сборочному агенту не дотянуться: каждая возвращается
|
|
||||||
ошибкой `WIX0217`, и сборка умирает на без малого сотне таких. На обычной
|
|
||||||
машине служба отвечает, и проверка включается одним ключом:
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
dotnet build Packaging\Installer\CursorLang.wixproj -p:SuppressValidation=false
|
|
||||||
```
|
|
||||||
|
|
||||||
Три правила остаются подавленными и тогда. MSI исходит из установки на всю
|
|
||||||
машину, а установка в профиль пользователя нарушает правила, которые описывают
|
|
||||||
ровно то, что здесь и задумано.
|
|
||||||
|
|||||||
@@ -327,21 +327,10 @@ 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.
|
Two things about the WiX project are worth knowing before touching it. It pins
|
||||||
|
WiX 5 rather than the current 7: from version 6 the toolset asks every build to
|
||||||
It pins WiX 5 rather than the current 7: from version 6 the toolset asks every
|
accept the Open Source Maintenance Fee licence — free below $10,000 of yearly
|
||||||
build to accept the Open Source Maintenance Fee licence — free below $10,000 of
|
revenue, but a decision for a person rather than for a build script. And it turns
|
||||||
yearly revenue, but a decision for a person rather than for a build script.
|
off three ICE validation rules: MSI still assumes an installation for the whole
|
||||||
|
machine, and installing into the user's own profile trips rules that describe
|
||||||
And it builds without MSI validation. The ICE checks run inside the Windows
|
exactly what was intended here.
|
||||||
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.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user