Cyperfriend
Der ohne Avatar
- Registriert
- 14 Juli 2013
- Beiträge
- 1.123
Ich versuche von ausgewählten Programmen die wichtig sind die Versionsnummer zu ermitteln.
Mittels PowerShell kann ich beispielsweise die Office-Version wie folgt ermitteln:
[src=powershell] Get-WmiObject win32_product | where{$_.Name -like "Microsoft Office *"} | select Name,Version[/src]
Klappt. PowerShell sagt, dass Microsoft Office Professional Plus 2016 in Version 16.0.4266.1001 bei mir installiert ist. Stimmt.
Nun wollte ich das Ganze in C#-Code übertragen, aber die Abfrage ist immer ungültig. Was habe ich verbockt? Ich hoffe ihr könnt mir helfen.
[src=csharp] // Office Version ermitteln
try
{
ManagementObjectCollection motReturn;
ManagementObjectSearcher motSearch;
motSearch = new ManagementObjectSearcher("Select * from Win32_Product where Name like 'Microsoft Office * '");
motReturn = motSearch.Get();
foreach (ManagementObject mo in motReturn)
{
label22.Text = mo["Version"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}[/src]
Mittels PowerShell kann ich beispielsweise die Office-Version wie folgt ermitteln:
[src=powershell] Get-WmiObject win32_product | where{$_.Name -like "Microsoft Office *"} | select Name,Version[/src]
Klappt. PowerShell sagt, dass Microsoft Office Professional Plus 2016 in Version 16.0.4266.1001 bei mir installiert ist. Stimmt.
Nun wollte ich das Ganze in C#-Code übertragen, aber die Abfrage ist immer ungültig. Was habe ich verbockt? Ich hoffe ihr könnt mir helfen.
[src=csharp] // Office Version ermitteln
try
{
ManagementObjectCollection motReturn;
ManagementObjectSearcher motSearch;
motSearch = new ManagementObjectSearcher("Select * from Win32_Product where Name like 'Microsoft Office * '");
motReturn = motSearch.Get();
foreach (ManagementObject mo in motReturn)
{
label22.Text = mo["Version"].ToString();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}[/src]
Zuletzt bearbeitet: