2016-07-05 3 views
0

Есть ли способ, в котором данные могут быть добавлены в уже построенную установку, сделанную Installshield?Добавить ключ продукта в уже установленный installshield setup.exe

Что мне нужно, это добавить разные ключи продукта для одного и того же исполняемого файла установки без необходимости создавать отдельную копию для каждого ключа продукта.

Есть ли способ, которым это может быть достигнуто с помощью Installshield?

+0

Существуют трансформации, но можно ли их реалистично генерировать на лету, может зависеть от того, подписываете ли вы свои пакеты. Ты? –

+0

Нет. Можете ли вы предоставить дополнительную информацию по этой теме. Я сделал исследование, но нашел только инструмент для установок msi под названием Orca. –

+0

InstallShield (по крайней мере, профессиональные/премьеры) может создавать преобразования. См. Файл Новый. Но что более важно, какие из этих ключей продукта должны измениться? Он просто записывает значение, скажем, в раздел реестра? Предотвращает ли она работу программы до тех пор, пока конечный пользователь не получит действительный? Что-то другое? –

ответ

1

Поскольку вы используете 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, но тогда у вас также будет проблема получения преобразования клиенту с он, вероятно, загружает только один файл сегодня, и для этого потребуется два файла.

+0

Я понял, как это должно работать. Однако Installshield не позволяет мне создать новый раздел реестра в представлении реестра. На «Конечный компьютер» контекстное меню не отображается при щелчке правой кнопкой мыши. К сожалению, в этот момент я использую версию Installshield 10.5 Premier. Можете ли вы помочь мне решить эту проблему? –

+0

Нет подсказки, почему это не сработает (вы щелкаете правой кнопкой мыши в нужном месте?), Но вы можете получить тот же эффект, используя прямой редактор. Добавьте компонент, если необходимо, а затем добавьте строку в таблицу реестра. Синтаксис прост. –

Смежные вопросы