Hallo zusammen,
meine erste Anfrage in einem Entwicklerforum ich hoffe ich halte alle Richtlinien ordnungsgemäß ein.
Folgendes Problem habe ich.
Ich arbeite mit Visual Studio 2010 Express an einem Win 7 64 Bit Notebook Framework 3.5 Client.
Mein Programm beinhaltet WMI-Abfragen über einzelne Hardware sowie IP-Adresse und MAC.
Ich habe das Programm bisher an dem EntwicklerPC, meinem privat Gerät zu Hause und verschiedenen Geräten in der Arbeit getestet.
An manchen PCs lässt sich die exe aus dem Debug-Ordner ohne Probleme starten an manchen stürzt sie ab mit folgender Windows-Fehlermeldung: " SystemInfo funktioniert nicht mehr Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm-"
Ich hab auch ein Release probiert bei dem das Programm installiert wird aber die Fehlermeldung ist die selbe.
Diese Fehlermeldung hilft mir leider absolut nicht weiter und stammt von einem PC ohne installiertes Visual Studio.
Die PCs an denen es funktionierte hatten folgende unterschiedliche Konfigurationen und Eigenschaften:
Alle Win 7, machne mit 32 manche mit 64 Bit
User hatte lokale Administratorrechte
User hatte keine lokalen Administratorrechte
PC war in einer über GPO "regierten" Domäne
Pc war in keiner über GPO "regierten" Domäne
Netzwerkverbindung vorhanden
Netzwerkverbindung nicht vorhanden
Manche PCs hatten Visual Studio, manche nicht
Framework sollte bei allen das richtige sein da 3.5 bei Win 7 mit installiert wird und ich das schon an einem frisch aufgesetzten Gerät getestet habe und bei diesem alles funktionierte
Manche Pcs mit Service Pack 1 und manche mit 0
Interessant ist vlt. auch das eingefügte Bilder aus mir unerfindlichen Gründen etwas gestuzt werden. Das heißt das vom Bild unten ca. 2 mm abgeschnitten werden. Dies kommt aber nur bei allen anderen Geräten vor bei dem PC an dem das Tool entwickelt wird passiert nichts.
An diesem PC habe ich schon ein paar Anwendungen geschrieben welche aber auf anderen PCs liefen.
Die WMI-Abfragen laufen über ausgelagerte Klassen die mit dem "mgmtclassgen.exe"-Programm erstellt wurden und in Visual Studio eingefügt wurden.
In der Programmierung von Anwendungen bin ich realtiv neu. Nicht komplett aber noch ziemlicher Anfänger. Mit den eigenarten von Visual Studio hab ich nur wenig Erfahrung.
Anbei noch eine typische Abfrage wie Sie in meinem Quelltext vorkommt.
Alles anzeigen
dies sind die ersten Zeilen, die if-Abfragen auf das Betriebssystem sind nicht wirklich professionell aber da wir in unserem Haus definitiv keine anderen Geräte vorfinden genügt diese Lösung.
Fehlermeldung oder Warnungen gibts es in Visual Studio nicht.
Vielen Dank schonmal an alle die sich Gedanken machen.
Bis später,
Fabian
meine erste Anfrage in einem Entwicklerforum ich hoffe ich halte alle Richtlinien ordnungsgemäß ein.
Folgendes Problem habe ich.
Ich arbeite mit Visual Studio 2010 Express an einem Win 7 64 Bit Notebook Framework 3.5 Client.
Mein Programm beinhaltet WMI-Abfragen über einzelne Hardware sowie IP-Adresse und MAC.
Ich habe das Programm bisher an dem EntwicklerPC, meinem privat Gerät zu Hause und verschiedenen Geräten in der Arbeit getestet.
An manchen PCs lässt sich die exe aus dem Debug-Ordner ohne Probleme starten an manchen stürzt sie ab mit folgender Windows-Fehlermeldung: " SystemInfo funktioniert nicht mehr Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm-"
Ich hab auch ein Release probiert bei dem das Programm installiert wird aber die Fehlermeldung ist die selbe.
Diese Fehlermeldung hilft mir leider absolut nicht weiter und stammt von einem PC ohne installiertes Visual Studio.
Die PCs an denen es funktionierte hatten folgende unterschiedliche Konfigurationen und Eigenschaften:
Alle Win 7, machne mit 32 manche mit 64 Bit
User hatte lokale Administratorrechte
User hatte keine lokalen Administratorrechte
PC war in einer über GPO "regierten" Domäne
Pc war in keiner über GPO "regierten" Domäne
Netzwerkverbindung vorhanden
Netzwerkverbindung nicht vorhanden
Manche PCs hatten Visual Studio, manche nicht
Framework sollte bei allen das richtige sein da 3.5 bei Win 7 mit installiert wird und ich das schon an einem frisch aufgesetzten Gerät getestet habe und bei diesem alles funktionierte
Manche Pcs mit Service Pack 1 und manche mit 0
Interessant ist vlt. auch das eingefügte Bilder aus mir unerfindlichen Gründen etwas gestuzt werden. Das heißt das vom Bild unten ca. 2 mm abgeschnitten werden. Dies kommt aber nur bei allen anderen Geräten vor bei dem PC an dem das Tool entwickelt wird passiert nichts.
An diesem PC habe ich schon ein paar Anwendungen geschrieben welche aber auf anderen PCs liefen.
Die WMI-Abfragen laufen über ausgelagerte Klassen die mit dem "mgmtclassgen.exe"-Programm erstellt wurden und in Visual Studio eingefügt wurden.
In der Programmierung von Anwendungen bin ich realtiv neu. Nicht komplett aber noch ziemlicher Anfänger. Mit den eigenarten von Visual Studio hab ich nur wenig Erfahrung.
Anbei noch eine typische Abfrage wie Sie in meinem Quelltext vorkommt.
Quellcode
- using System;
- using System.Windows.Forms;
- using System.Management;
- using ROOT.CIMV2.Win32;
- using System.Linq;
- namespace SystemInfo
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- classReader();
- networkFunction1();
- festplattenReader();
- }
- // Ändert die Größe der blauen Markierungen beim Veränderung der FormSize
- private void Form1_SizeChanged(object sender, EventArgs e)
- {
- blauerStrichOben.Width = this.Width;
- }
- // Methode zum Angeben aus der OperatigSystemClass
- private void classReader()
- {
- SelectQuery query = new SelectQuery("Win32_OperatingSystem");
- ManagementObjectSearcher nameSearcher = new ManagementObjectSearcher(query);
- foreach (ManagementObject result in nameSearcher.Get())
- {
- // Liest den OS-Namen aus ANFANG
- string osName = (string)result["Caption"];
- windowsVersionLabel.Text = osName;
- if (osName.Contains("Windows 7 Enter"))
- {
- windowsVersionLabel.Text = "Windows 7 Enterprise";
- }
- else if (osName.Contains("Windows 7"))
- {
- windowsVersionLabel.Text = "Windows 7";
- }
- else if (osName.Contains("XP"))
- {
- windowsVersionLabel.Text = "Windows XP";
- }
- else if (osName.Contains("Windows 8"))
- {
- windowsVersionLabel.Text = "Windows 8";
- }
- else if (osName.Contains("Windows Vista"))
- {
- windowsVersionLabel.Text = "Windows Vista";
- }
- else
- {
- windowsVersionLabel.Text = "Kein unterstütztes Windows";
- MessageBox.Show("Da dies kein unterstütztes Windows ist kann es zu Fehlern beim Ausleseforgang kommen");
- }
- //Liest den OS-Namen aus ENDE
- // Liest die Service Pack Nummer aus START
- UInt16 servicePackNumber = (UInt16)result["ServicePackMajorVersion"];
- servicepackLabelAusgabe.Text = "Service Pack " + servicePackNumber.ToString();
- // Liest die Service Pack Nummer aus ENDE
dies sind die ersten Zeilen, die if-Abfragen auf das Betriebssystem sind nicht wirklich professionell aber da wir in unserem Haus definitiv keine anderen Geräte vorfinden genügt diese Lösung.
Fehlermeldung oder Warnungen gibts es in Visual Studio nicht.
Vielen Dank schonmal an alle die sich Gedanken machen.
Bis später,
Fabian