Как я могу дать параметры для установки WIX по ссылке загрузки установки - PullRequest
3 голосов
/ 22 сентября 2011

Я пытаюсь сделать следующее:

  • Предположим, что пользователь с именем пользователя "annie" подключен к сайту foo.example.com
  • На сайте, который я предоставляюссылка для загрузки установки msi (разработанной в WIX 3.5)
  • Установка устанавливает небольшую программу, которая запрашивает информацию для входа при первом запуске (имя сервера: foo.example.com, имя пользователя: annie, пароль).

Поскольку Энни уже подключена к foo.example.com, было бы замечательно, если бы имя сервера и имя пользователя уже были предварительно заполнены.

Я знаю, что для некоторых программ удаленного управления (например, NetViewer) вы можете отправить приглашение по электронной почте человеку, чей компьютер вы хотите контролировать.В письме у вас есть ссылка, содержащая номер сеанса (например: https://get.netviewer.com/support/join.php?sinr=502436783&sipw=nv64), который запрашивает загрузку клиентского программного обеспечения, при котором номер сеанса автоматически заполняется автоматически.

Не знаю 'Я не знаю, как они это делают, но я полагаю, что вы можете легко добавить несколько байтов (номер сеанса) в конец exe-файла, а затем выполнить исполняемый файл для поиска дополнительных конечных байтов, разница здесь в том, что это не exe-файл.что я полностью контролирую, но файл MSI, разработанный с WIX.

Есть ли у вас какие-либо указания о том, как это сделать?

Ответы [ 2 ]

3 голосов
/ 22 сентября 2011

Решением является скрипт, который использует API базы данных установщика Windows для изменения некоторых пользовательских свойств в таблице MSI Property .Эти свойства могут затем использоваться элементами управления в настраиваемом диалоговом окне установки.

После изменения MSI ваш скрипт может служить ему ссылкой для скачивания пользователю.

Если в вашем пакете используется цифровая подписьваш сценарий также должен будет оставить пакет после изменения.

Встроенной поддержки для этого нет, поэтому вам нужно будет настроить пакет и написать сценарий самостоятельно.

0 голосов
/ 30 сентября 2011

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

  • Ссылка для загрузки MSI-файла является динамической (и, например, страница aspx)
  • Эта страница создает строку в центральной базе данных, которая связывает «имя_сервера» + «имя пользователя» с уникальным идентификатором, скажем «коннектид»
  • страница затем передает файл msi, но меняет имя на что-то вроде «ourprocuct_connectid.msi»
  • Затем программа установки wix сохраняет свойство OriginalDatabase в значение реестра
  • При первом запуске программы проверьте, что значение реестра, если оно существует, извлекает connectctid, подключается к уникальному серверу, который обращается к центральной базе данных, и возвращает имя пользователя и имя сервера из connectctid

Фу!

...