Поскольку вы используете InstallShield setup.exe, простейший подход, вероятно, также должен использовать инструмент setupini.exe (в некоторых более ранних версиях InstallShield это был отдельный «неподдерживаемый» инструмент, и вы можете найти загрузки в нашей системе KB). Вы можете использовать это способом, аналогичным показанному в статье, чтобы изменить командную строку, переданную в пакет MSI, чтобы включить свойство, содержащее ключ. Используя свойство PRODUCTKEY
это будет выглядеть следующим образом:
SetupIni.exe "<path to>\MySetup.exe" Startup CmdLine PRODUCTKEY="12-34-56"
Для этого, чтобы быть содержательным, вы должны включать в себя что-то в программе установки, которая использует это свойство. Самым простым может быть раздел реестра, значение которого (или данные значения) включает ссылку на свойство PRODUCTKEY
. Представлял как REG-файл, который может выглядеть следующим образом:
[HKEY_LOCAL_MACHINE\Software\My Company Name\My Product Name\Version]
"ProductKey"="[PRODUCTKEY]"
Обратите внимание, что PRODUCTKEY
должен быть общественным достоянием (его название не содержит символов нижнего регистра), и перечислен в SecureCustomProperties
собственности. Обратите также внимание на то, что это следует считать скорее консультативным, чем безопасным: если вы, например, ищете лицензию на свой продукт, требуя, чтобы клиент ввел соответствующий код, не делайте этого. Такой подход делает ключ доступным для клиентов с ноу-хау для регистрации установки или даже для поиска команд с диспетчером задач.
Если для вашего имущества недостаточно настроек, вы также можете рассмотреть creating a transform и настроить его для автоматического применения с помощью setupini.exe, но тогда у вас также будет проблема получения преобразования клиенту с он, вероятно, загружает только один файл сегодня, и для этого потребуется два файла.
Существуют трансформации, но можно ли их реалистично генерировать на лету, может зависеть от того, подписываете ли вы свои пакеты. Ты? –
Нет. Можете ли вы предоставить дополнительную информацию по этой теме. Я сделал исследование, но нашел только инструмент для установок msi под названием Orca. –
InstallShield (по крайней мере, профессиональные/премьеры) может создавать преобразования. См. Файл Новый. Но что более важно, какие из этих ключей продукта должны измениться? Он просто записывает значение, скажем, в раздел реестра? Предотвращает ли она работу программы до тех пор, пока конечный пользователь не получит действительный? Что-то другое? –