Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Zählt Windows Home Server zu den Server Editions? (https://www.delphipraxis.net/163553-zaehlt-windows-home-server-zu-den-server-editions.html)

Codehunter 7. Okt 2011 12:08

AW: Zählt Windows Home Server zu den Server Editions?
 
Liste der Anhänge anzeigen (Anzahl: 1)
@Commander Tom: Die Versionsangaben reichen nicht aus um eine Edition zuverlässig zu erkennen. Allerdings dachte ich bisher immer, Windows Home Server hätte erst ab der Vista-Ära angefangen, also der 6.0er Schiene. Scheinbar gab es vorher schon einen in der 2003er Ära, also v5.2.x. Weiß einer, ob es den WHS 2003 nur in 32 Bit gab oder auch 64 Bit?

Jetzt habe ich aber ein Problem: GetProductInfo() gab es erst ab v6.0.x. Hoffentlich haben die bei dem Ding VER_SUITE_WH_SERVER richtig gesetzt. Fürs erste habe ich die vier möglichen Varianten mit rein genommen WHS 2003 x86, x64, R2 x86 und R2 x64.

Neues Testprogramm siehe Anhang.

Chemiker 7. Okt 2011 13:05

AW: Zählt Windows Home Server zu den Server Editions?
 
Hallo Codehunter,

WHS 2003 gibt es nur in 32Bit.

Bis bald Chemiker

Hobby-Programmierer 7. Okt 2011 13:43

AW: Zählt Windows Home Server zu den Server Editions?
 
Tach ...,
WHS1 gab es nur als x32 Version und bei mir zeigt dein Programm 'Microsoft Windows Server 2003' an.

Meine Daten:
Code:
Betriebssystem      : Microsoft Windows Server 2003 Professional
Version             : 5.02.3790 Service Pack 2
Revision            : 3790.srv03_sp2_gdr.101019-0340 (Service Pack 2)
Plattform           : Uniprocessor Free
Workstation         : Ja
Domain Controller   : Ja
Server              : Ja
Web Edition         : Nein
DataCenter Edition  : Nein
Enterprise Edition  : Nein
SmallBusiness Server: Ja
SmallBusiness
Restricted Ser...   : Ja
Terminal Services   : Ja
Security            : Nein
Embedded            : Nein
Media Center        : Nein
Tablet PC           : Nein
Starter Edition     : Nein
Server 2003 R2      : Nein
Debug Version       : Nein
Hoffe das hilft ein wenig, LG Mario

Codehunter 7. Okt 2011 15:00

AW: Zählt Windows Home Server zu den Server Editions?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Hobby-Programmierer (Beitrag 1129123)
WHS1 gab es nur als x32 Version und bei mir zeigt dein Programm 'Microsoft Windows Server 2003' an.

Ich habs befürchtet, beim ersten WHS gabs VER_SUITE_WH_SERVER noch nicht. Hab nochmal ein bissi gebastelt. Bitte testet es nochmal, danke.

EDIT: Version 4 war buggy, hab gleich Version 5 rein gesetzt. Habe dazu auch noch die XP Mediacenter, Starter und Tablet PC mit reingenommen.

Hobby-Programmierer 7. Okt 2011 23:10

AW: Zählt Windows Home Server zu den Server Editions?
 
... und wieder fehlerhaft :wink:
Angezeigt wird 'Microsoft Windows Server 2003 Web Edition'.

Vielleicht zeigst du mal den Code damit wir uns selber schnell was basteln können zum testen.

[Edit]
Kurioses zur später Zeit.
Auf meinem Acer Server spielt deine Version 5 verrückt. Irgendwie schlägt der Zufallsgenerator zu. Startet man dein Programm öfter nacheinander (jeweils nur eine Instanz aktiv) kommen gelegentlich versch. Versionen raus. Bisher hatte ich:
Microsoft Windows Server 2003
Microsoft Windows Server 2003 Security Appliance
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Web Edition.

Hab das gerade nochmal in einer VM getestet, gleiches Ergebnis.
Vielleicht kann das jemand mit dem WHS ebenfalls mal testen.

Ich hoffe auch du machst keinen Mist auf den Systemen, aber die Startzeit von ca. 2 Sekunden - selbst in der VM macht mich zumindest misstrauisch.

LG Mario

Codehunter 10. Okt 2011 07:22

AW: Zählt Windows Home Server zu den Server Editions?
 
Liste der Anhänge anzeigen (Anzahl: 3)
Zitat:

Zitat von Hobby-Programmierer
Vielleicht zeigst du mal den Code damit wir uns selber schnell was basteln können zum testen.

Das stammt aus DelphiWorks, einer OpenSource-Lib die ich vor Jahren mal öffentlich gepflegt (delphiworks.sourceforge.net) und dann irgendwann aus Zeitmangel eingestellt habe. Bezogen auf den Mehraufwand das Ding zu veröffentlichen statt nur im Hausgebrauch zu verwenden. Die aktuelle Version 1.5 ist im Anhang. Die betreffende Funktion ist dwGetOS() in der dwWinSystem.pas sowie dwGetOSName() in der selben Unit.
Zitat:

Zitat von Hobby-Programmierer
Auf meinem Acer Server spielt deine Version 5 verrückt. Irgendwie schlägt der Zufallsgenerator zu. Startet man dein Programm öfter nacheinander (jeweils nur eine Instanz aktiv) kommen gelegentlich versch. Versionen raus. Bisher hatte ich:
Microsoft Windows Server 2003
Microsoft Windows Server 2003 Security Appliance
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Web Edition.

Betreffender Abschnitt ab Zeile 296:
Delphi-Quellcode:
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_DATACENTER;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_ENTERPRISE;
                  end else if (OSV.wSuiteMask and VER_SUITE_SECURITY_APPLIANCE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_SECAPPL;
                  end else if (OSV.wSuiteMask and VER_SUITE_BLADE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_WEBEDITION;
                  end else if (OSV.wSuiteMask and VER_SUITE_WH_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_HOME_SERVER_2003;
                  end else begin
                      result:= OS_WINDOWS_SERVER_2003;
                  end;
Würde dann bedeuten, dass OSV von GetVersionEx nicht richtig initialisiert wird, seltsam.
Zitat:

Zitat von Hobby-Programmierer
Die Startzeit von ca. 2 Sekunden - selbst in der VM macht mich zumindest misstrauisch.

Mich aber auch... Bei mir startet das Ding ratzfatz, egal ob in der VM (VirtualPC) oder auf dem Hostsystem. Dass die Anwendung keinen "Mist" macht dürfte ja mit einem entsprechenden Traceprogramm jeder überprüfen können. Hier der gesamte Quelltext des Hostprogrammes:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  dwWinSystem, dwTypes;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption:= dwGetOSName;
end;

end.
EDIT: Ich denke, ich habe den Fehler gefunden. OSV wurde tatsächlich nicht richtig initialisiert. Ich konnte auch den beschriebenen Zufallseffekt reproduzieren und beheben. Im Anhang nun die korrigierte Version von DelphiWorks mit nochmals erweiterter Plattform-Erkennung und das Demo-Programm, ebenfalls ein wenig erweitert. Die Demo bringt nun eine Textliste der Rückgaben von GetVersionEx, GetSystemMetrics und GetSystemInfo. Das kann mir helfen, bei falsch erkannten Plattformen den Fehler zu finden bzw. neue Plattformen nachzutragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz