Я написал In / Uninstaller для выборочной установки для MongoDb.
Мой способ установки mongoDB заключается в следующем.
private Process GetInstallMongoProcess() {
Log("Installing MongoDB Version 3.4.10 ...");
Process installProcess = new Process();
installProcess.StartInfo = new ProcessStartInfo("msiexec.exe", $@"/q /Lie {Constants.LogFileName} /i mongodb-win32-x86_64-2008plus-ssl-3.4.10-signed.msi INSTALLLOCATION=""{Constants.Path}3.4\"" ADDLOCAL=""all""");
installProcess.OutputDataReceived += OnInstallProcessDataReceived;
installProcess.Start();
return installProcess;
}
Но тогда мне нужно проверить, установлено ли это приложение.Я делаю так:
private bool CheckIfAlreadyInstalled()
{
string[] registryKeys = { @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", @"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" };
bool appIsInstalled = false;
foreach (string registryKey in registryKeys) {
RegistryKey key = Registry.LocalMachine.OpenSubKey(registryKey);
if (key != null) {
List<string> listOfInstalledApplications = key.GetSubKeyNames().ToList();
appIsInstalled = listOfInstalledApplications.Contains(ApplicationGuid);
}
}
if (appIsInstalled) {
Log("MongoDB is already installed");
}
return appIsInstalled;
}
Я не могу найти свое установленное приложение.Ни имя, ни ApplicationGuid.
Я получаю около 300 записей, но нужной мне записи нет, но я вижу установленное ПО в Regedit.exe
Я ищу не в том узле ??