Версия продукта против сборки Verison - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть приложение winform и проект установки установщика Visual Studio с выходом проекта, установленным для этого приложения winform.

Эта winform вызывается с веб-сайта как установщик MSI, который сохраняет значения вреестр для вызова приложения winform в следующий раз в виде схемы протокола URI.

Теперь из Интернета я хочу проверить 2 вещи:

1.) Это приложение уже установлено на клиентемашина?

Для этого я могу поставить код проверки реестра, чтобы проверить, установлено приложение или нет

string regKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (Microsoft.Win32.RegistryKey key = Registry.LocalMachine.OpenSubKey(regKey))
{
    if (key.GetSubKeyNames().Any(keyName => key.OpenSubKey(keyName).GetValue("DisplayName") == "My App's Display Name"))
        Console.WriteLine("Already installed...");
    else
        Console.WriteLine("Start installing...");
}

2.) Какая версия установленного приложения.

Для версии значения реестра, как описано в пункте 1, также дают другие параметры, такие как «DisplayVersion» и «version, VersionMajor и VersionMinor».

Так что для версии, каков наилучший способ обновить версию сборкиприложения winform. Должен ли я изменить класс AssemblyInfo приложения winform или мне нужно изменить версию в настройках свойств проекта?.

Установить свойство проекта: enter image description here

Также в реестре я получаю следующие значения dword версий, как декодировать эти шестнадцатеричные значения, чтобы получить номер версии?.

enter image description here

...