У меня есть приложение 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 или мне нужно изменить версию в настройках свойств проекта?.
Установить свойство проекта:
Также в реестре я получаю следующие значения dword версий, как декодировать эти шестнадцатеричные значения, чтобы получить номер версии?.