none
Aus dem Ordner Release aufgerufen klappt, alles in anderen Ordner kopiert klappt nicht mehr RRS feed

  • Frage

  • Hallo Jungs

    ich habe folgendes Problem. Ein Programm in VB 2008 nutzt den Befehl:

            For Each wmi_HD As ManagementObject In searcher.Get()
                hn = wmi_HD("SerialNumber").ToString()
    Im Debugger klapt das wunderbar. Als EXE aus dem Release Ordner aufgerufen klapt wunderbar. Kopiere ich den gesamten Inhalt des Ordners Release in einen anderen Ordner, liefert der Aufruf nur einen Leerstrings. Hat jemand von euch eine Idee?

    LG

    Peter

    Montag, 29. März 2010 21:20

Antworten

  • Hallo zusammen

    ich habe das Problem zumindest teilweise gelöst.Wenn die Manifest Datei im Aufrufordner vorhanden ist, liefer der Zugriff die Serial der HD im Hex Format. Also z.B "202020204156..." ist die Manifest Datei nicht im Ordner, liefert der Zugriff z.B. "    AJ...". Zusätzlich sind die Byte im Hex Format gedreht. Da ich diese Serial noch verschlüssele kommt natürlich etwas anderes heraus.

    Nun habe ich ein zweites Programm, das wiederum die Serial ausliest und verschlüsselt. Die beiden Strings werden verglichen und wenn ungleich das PGM beendet. Bei diesem zweiten Programm ist es egal, ob die Manifest Datei vorhanden ist oder nicht. Der Zugriff liefert immer im Hex Format. Gelöst habe ich das nun über die Länge des gelieferten Strings. Im Hex Format ist die Länge 40, im nomalen Format 20 Byte. Was jetzt in der Manifest Datei für das Ergebnis des Zugriffs verantwortlich ist und warum beim zweiten Programm immer im Hex Format geliefert wird, habe ich nicht herausfinden können.

     

    Vielen Dank für die Hilfe und Entschuldigung, wenn ich nicht alle Informationen so geliefert habe, wie sie notwendig waren

     

    LG

    Peter

    Dienstag, 30. März 2010 16:15

Alle Antworten

  • Es wäre sicherlich sinnvoll zu wissen, was searcher ist. Welcher Typ, Zuweisung etc.
    Dienstag, 30. März 2010 06:30
  • Hallo Christian,

    searcher ist als Typ System.Management.ManagementObjectSearcher (ManagementObjectSearcher-Klasse)

    searcher = New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")

    Grüße,

    Robert

    Dienstag, 30. März 2010 07:51
    Moderator
  • Hallo Peter,

    Habe mal das Beispiel kompiliert und aus dem Release Ordner nur die EXE Datei in einem anderen Ordner kopiert.

    Bei mir funktioniert die Anwendung einwandfrei so dass ich kann das nicht nachvollziehen was Du sagst.

    Imports System.Management
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            '//Hardware Model und Type info
            Dim searcher As ManagementObjectSearcher = _
                            New ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
            For Each wmi_HD As ManagementObject In searcher.Get()
                ListBox1.Items.Add("Model:" & vbTab & wmi_HD("Model").ToString())
                ListBox1.Items.Add("Type:" & vbTab & wmi_HD("InterfaceType").ToString())
            Next wmi_HD
    
            ''//Hardware SerialNumber info
            searcher = New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
            For Each wmi_HD As ManagementObject In searcher.Get()
                If wmi_HD("SerialNumber") Is Nothing Then
                    ListBox1.Items.Add("Serial No:" & vbTab & "None")
                Else
                    ListBox1.Items.Add("Serial No:" & vbTab & wmi_HD("SerialNumber").ToString())
                End If
            Next wmi_HD
    
        End Sub
    End Class

     

     

    Grüße,

    Robert

    Dienstag, 30. März 2010 08:09
    Moderator
  • Ich würde grundlegend davon ausgehen, dass es daran wirklich nicht liegt. (Wenn es so wäre, würde es mich sehr wundern.) Interessant wäre weiterhin, ob, und wenn ja, welcher Fehler auftritt. Gibt der JIT eine direkte Fehlermeldung?
    Dienstag, 30. März 2010 12:51
  • Hallo zusammen

    ich habe das Problem zumindest teilweise gelöst.Wenn die Manifest Datei im Aufrufordner vorhanden ist, liefer der Zugriff die Serial der HD im Hex Format. Also z.B "202020204156..." ist die Manifest Datei nicht im Ordner, liefert der Zugriff z.B. "    AJ...". Zusätzlich sind die Byte im Hex Format gedreht. Da ich diese Serial noch verschlüssele kommt natürlich etwas anderes heraus.

    Nun habe ich ein zweites Programm, das wiederum die Serial ausliest und verschlüsselt. Die beiden Strings werden verglichen und wenn ungleich das PGM beendet. Bei diesem zweiten Programm ist es egal, ob die Manifest Datei vorhanden ist oder nicht. Der Zugriff liefert immer im Hex Format. Gelöst habe ich das nun über die Länge des gelieferten Strings. Im Hex Format ist die Länge 40, im nomalen Format 20 Byte. Was jetzt in der Manifest Datei für das Ergebnis des Zugriffs verantwortlich ist und warum beim zweiten Programm immer im Hex Format geliefert wird, habe ich nicht herausfinden können.

     

    Vielen Dank für die Hilfe und Entschuldigung, wenn ich nicht alle Informationen so geliefert habe, wie sie notwendig waren

     

    LG

    Peter

    Dienstag, 30. März 2010 16:15