Документация
Почему Windows предупреждает перед первым запуском и как проверить файл
Когда вы впервые запускаете установщик или портативный exe, Windows показывает синее окно SmartScreen: «Система Windows защитила ваш компьютер», неизвестный издатель. Эта страница говорит, почему так происходит, что это означает и чего не означает, и как самостоятельно проверить, что файл именно тот, который опубликован на этом сайте.
Обновлено · Vitalii Yemets
Что означает предупреждение
SmartScreen сверяет подпись и репутацию файла с записями Microsoft. Сборки HoldToType не имеют сертификата подписи кода, так что имени издателя показать нечего, а новый релиз ещё не имеет репутации. Предупреждение не говорит, что файл вредоносный; оно говорит, что Windows не может поручиться за того, кто его сделал. Программы больших компаний проходят, потому что покупают сертификат, а сертификат стоит несколько сотен долларов в год плюс проверка личности, поэтому открытая программа одного человека часто обходится без него.
Почему сборки ещё не подписаны
Подпись в планах в виде сборки для Microsoft Store: Store подписывает пакеты сам, и для этого пути предупреждение исчезает. До тех пор каждый релиз публикует SHA-256 своих файлов на странице релизов, а исходный код на GitHub, так что exe может собрать из того же кода любой.
Как проверить файл
Откройте PowerShell в папке со скачанным файлом и выполните:
Get-FileHash .\holdtotype-setup.exe -Algorithm SHA256
Сравните хеш, который он напечатает, с тем, что на странице релизов рядом с той же версией. Если две строки совпадают, файл байт в байт тот, что опубликован там. Если различаются, не запускайте его: скачайте ещё раз с GitHub, и если различается снова, напишите issue.
Как всё-таки запустить
- В окне SmartScreen нажмите «Подробнее».
- Нажмите «Выполнить в любом случае». Для этого файла окно больше не появится.
- Если кнопки нет, ваша организация заблокировала SmartScreen; используйте портативный архив из релизов, которому не нужен установщик, или обратитесь к администратору.
Портативный обход
Портативный архив — та же программа в папке: распакуйте её где угодно, в том числе на флешку, и запустите exe. Windows может всё равно показать предупреждение при первом запуске exe, с теми же «Подробнее» и «Выполнить в любом случае». Ничего не записывается вне папки, и права администратора не нужны. Удаление папки убирает программу.
Собрать самостоятельно
Если проверки хеша мало, соберите exe из исходного кода одним скриптом и Docker Desktop; страница сборки проводит через это. Результат — ваша собственная сборка из кода, который вы можете прочитать, и SmartScreen тут ни при чём.
Вопросы
Это предупреждение о вирусе?
Нет. Предупреждение о вирусе приходит от Defender с красным окном и названием угрозы. Синее окно SmartScreen говорит лишь, что издатель неизвестен.
Предупреждение когда-нибудь исчезнет?
Для сборки из Store да, как только она будет опубликована; для прямой загрузки — когда будет куплен сертификат подписи или файл наберёт достаточно репутации, а на это нужно много загрузок.
HoldToType нужны права администратора?
Установщик просит их, чтобы записать ярлык и запись для удаления. Портативному exe они не нужны вообще.
Скачайте и проверьте хеш
Файл, SHA-256 и исходный код — всё на одном сайте.