2013-12-20 2 views
2

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

Это можно сделать? Если да, то как я могу это сделать? Если нет, то есть альтернативная идея? Возможно ли это с помощью inno-setup? Можно ли скомпилировать exe-файл во время выполнения в php?

ответ

1

Да, вы можете построить значения, передающие настройки, в предварительно обработанный скрипт. В командной строке /d командной строки preprocessor compiler. См. это очень простой скрипт:

[Setup] 
AppName=My Program 
AppVersion=1.5 
DefaultDirName={pf}\My Program 
AppPublisher={#Publisher} 
AppPublisherURL={#PublisherWeb} 

Этот сценарий можно построить с линией инструмента ISCC.exe команды, проходящей значения для ожидаемых переменных, например, таким образом:

iscc "/dPublisher=My Company" "/dPublisherWeb=www.example.com" "c:\Script.iss" 

Это будет препроцессор сценария, передающего значения и построившего двоичный файл установки вывода. Если вы хотите также, чтобы сохранить препроцессированные сценарии где-то, вы можете поместить следующую строку в самом конце сценария:

#expr SaveToFile("c:\PreprocessedScript.iss") 

Это будет хранить скрипт со значениями заполнены препроцессором.

+0

P.S. Я использовал директивы, которые, безусловно, не связаны с идентификатором компании, который вам нужен, чтобы быть уникальным, но вы можете применить эту технику к любой директиве, которую хотите, поэтому вам нужно усовершенствовать этот пример в вашем реальном скрипте. – TLama

+0

можно также использовать с php exec? Я не уверен, что я прав, но похоже, что он должен работать, когда вы вручную запускаете команду. и как насчет того, хочу ли я получить значения, установленные в приложении, когда приложение установлено для будущего использования? или реестр может быть лучшим вариантом для хранения таких? –

+0

Я ничего не знаю о PHP. Это просто командная строка, поэтому, если вы можете выполнить инструмент командной строки, вы можете использовать эту опцию. Другой альтернативой было бы создание сценария вручную, поскольку это всего лишь текстовый файл, но я предоставил общий способ. Второй вопрос у меня не получается. Вы имеете в виду, как прочитать значение, которое вы установили ранее с помощью такой сборки командной строки на машине, где вы запустили настройку? Если да, то какая директива вы используете для своего уникального идентификатора, который вы назвали? Во всяком случае, это было бы лучше спросить как отдельный вопрос ... – TLama

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