Есть ли способ обнаружить версию настройки из продукта?

StackOverflow https://stackoverflow.com/questions/3671183

Вопрос

Итак, вот ситуация здесь.

У меня есть 2 веб-сайтов ASP.NET + некоторые приложения WinForm, которые установлены с установкой. Все они представлены в виде модулей слияния в проект установки.

В настоящее время, когда мы хотим обновить глобальную версию приложения, мы должны обновлять все версии в веб-сайты ASP.NET и материал. Я знаю, что можно обнаружить версию в информационную информацию о приложении ASP.NET, что довольно легко. Сложность здесь состоит в том, чтобы обнаружить «глобальную» версию настроек. (Скажи здесь сайт - это версия 1.5, но сама глобальная установка - версия 3.4).

В какой-то момент я думаю, что если я найдете файл setup.exe / setup.msi, я мог просматривать его с рефлексией, но это не совсем лучшее решение. Мы храним каждую настройку на версию на сервере в отдельной папке (Ex. C: Setups Product 1.0 Setup.exe, C: Setup Product 1.5 setup.exe и т. Д.)

Какие-либо предложения ?

Это было полезно?

Решение

Определите версию «Global» настроек. Вы говорите, что каждый патч обновляет некоторые, но не все агрегаты, и, таким образом, версия любой одной сборки, или даже любой из узлов, которые вообще не могут отражать последний патч?

3 варианта:

  • Сохраните информацию о глобальной версии в каждом файле конфигурации и вытесните обновления на каждую конфигурацию каждого установленного компонента каждый раз (не рекомендуется).
  • Укажите общий файл конфигурации или ссылки на другие конфигуры к конфигурации «Основной», который можно упомянуть из любого исполняемых проектов и убедиться, что конфигурация обновляется каждый раз.
  • Поддерживайте ключ реестра, содержащий глобальную версию для пакета программного обеспечения.

Из трех, я бы выбрал последний, поскольку установка и исправления распространяются по нескольким областям системы, но каждая область должна иметь возможность прочитать ключ реестра программного обеспечения (если не обновлять его). Процесс не сложно; Вы можете ссылаться на статическую систему .Win32.registry Objection, чтобы получить базовые ключевые ключи для LocalMACHINE, CUSTUSER и т. Д. И оттуда вы можете пересечь дерево, навигацию через объекты реестра (или создавая один с нуля с ключевым путем). Вы можете указать ключевую путь с помощью параметра в разных файлах Web и App.config; Это не должно меняться почти так часто, как значение самого ключа.

Другие советы

Если вы устанавливаете несколько пакетов из одного MSI, то лучше всего разрешить перечисление MSI в ARP, а затем версия этой «Global Setup» будет легко доступна для будущих MSI. Не зная, какую технологию вы используете для создания вашей настройки, трудно предоставить более солидные советы, но в Wix (Windows Installer XML) вам просто необходимо включить элемент обновления, который позаботится об этом для вас автоматически. Большинство технологий должны иметь место для вас, чтобы проверить текущую версию для установки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top