Документація
Чому 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 і вихідний код — усе на одному сайті.