Краткий ответ : Вы не можете реально защитить его, и вы не должны этого делать, и ниже объясняется, почему. Однако вы можете подписать MSI цифровым сертификатом, чтобы гарантировать, что файл не будет изменен при передаче клиенту, что обеспечит целостность файла и повысит безопасность.
Прозрачность : MSI-файлы прозрачны по определенной причине - упаковщики корпоративных приложений хотят иметь возможность изменять пакет в соответствии с корпоративными стандартами. Эта прозрачность фактически является основным преимуществом MSI . Поэтому я не стал бы защищать MSI. Скомпилированные пользовательские действия остаются «черным ящиком» (не подлежит проверке, но их можно отключить).
Документация и комментарии : Если ваш MSI имеет настраиваемые действия, которые являются критическими, вы можете указать это «встроенными» комментариями в MSI или, возможно, именем, назначенным для пользовательское действие. Вы также можете доставить одностраничный файл PDF (назовите его Large Scale Deployment Guide.pdf
?) Вместе с настройкой, где вы описываете, как лучше развернуть приложение, и, что важно, чего не делать с MSI. Я предпочитаю встраивать этот документ в MSI, так что он поставляется с административной установкой - механизмом извлечения файлов MSI - который увидит упаковщик. Первое, что обычно делает корпоративный упаковщик, - это извлечение файлов из MSI с помощью установки администратора.
Цифровые подписи : Как уже упоминалось другими a цифровая подпись ( подробности из Advanced Installer , (подробности из Installshield ) помогают гарантировать неизменность MSI при доставке клиентам. Это очевидно имеет большое значение с точки зрения безопасности. Это еще более проблематично с новыми функциями, такими как SmartScreen (защита на основе репутации - сертификат подписи кода EV "покупает доверие" - интересная концепция? Кто пахнет ракеткой? :-)). Убедитесь, что ваша установка не содержит вредоносных программ или что цифровой сертификат является доказательством того, что вы доставили вредоносное ПО (до тех пор, пока оно не будет взломано) . И говорить о .... Хммм .
Обнаружение вредоносного ПО : Помните, что также необходимо иметь дело с ложными срабатываниями . Онлайн-инструменты с загрузкой файлов отлично подходят для тестирования. Применяются ограничения на размер файла. Просто пара ссылок:
Инструмент, такой как Process Explorer из SysInternals также делает его можно сканировать вредоносные процессы, запустив приложение и выбрав Options
=>
VirusTotal.com
=>
Check VirusTotal.com
. Видеоруководство здесь (я не слишком много смотрел на него, не знаком с другими обсуждаемыми продуктами). Use this method to save your application from false-positive nightmares (and also for real malware infections of course)
.
Запуск приложения : Если у вас есть что-то, что вам необходимо запустить, вы можете добавить его в последовательность запуска приложения
вместо вашей настройки. Это определенно работает, если вам не нужен админ
прав. Если вам нужно что-то написать в HKLM, вы можете открыть ACL write
Доступ туда для обычных пользователей - совсем не идеален, но возможен.
С кодом запуска приложения проще справиться. Легче отлаживать
и никаких проблем подражания, последовательности и обусловленности (когда
действие выполняется), как в настройке.
Legacy Setup.exe : если вы настаиваете на выполнении «секретных вещей» в вашей настройке, то вы можете использовать устаревший инструмент, чтобы сделать обычный setup.exe (не MSI). Имейте в виду, что с ужесточением проверок безопасности и обнаружением вредоносных программ ваши настройки могут быть еще более подвержены проблеме ложных срабатываний для обнаружения вредоносных программ. Очень серьезный удар по продаже программного обеспечения. С реальным вредоносным ПО вы говорите клиенту о необходимости восстановления ПК, а при ложном срабатывании вам нужно что-то сделать, чтобы решить проблему. Корпоративное признание также может зависеть от формата MSI или других проверяемых форматов («, который является нашим стандартом »). И вы должны знать, что инструменты захвата в корпоративных настройках увидят, что установка сделала подробно, когда они преобразуют ее в MSI (или другие форматы в наши дни, например, AppV и MSIX).
И еще одна проблема: Кроссплатформенные установщики .