AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi 32bit Service auf 64bit Platform
Thema durchsuchen
Ansicht
Themen-Optionen

32bit Service auf 64bit Platform

Ein Thema von Klaus01 · begonnen am 23. Okt 2010 · letzter Beitrag vom 24. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#1

32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 14:49
Hallo,

ist das prinzipiel möglich?
Sind Probleme zu erwarten - auf was muss ich besonders achten?
Würde den Service mit TService aufbauen wollen.

Ich frage weil das Zielsystem Windows2008 64bit ist,
ich aber kein 64bit System zum Testen habe.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 15:00
Ich hatte mit meinen Diensten bisher weder unter Vista, Windows7 oder Server 2008 (R2) Probleme.
Unter XP 64 habe ich keine Erfahrungen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 16:33
Dienste sind normale Programme und 32bit Dienste werden daher auch mit WOW64 ausgeführt, wie jedes normale 32bit Programm.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 18:34
Wenn du nichts falsch machst (Hard Codierte Verzeichnisangaben, ...) dann läuft dein Code problemlos
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 18:52
Hallo,

danke für die Antworten, dann kann ich es ja angehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 21:33
Unter XP 64 habe ich keine Erfahrungen.
XP x64 basiert auf Windows 2003 und hat damit auch keine Probleme.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#7

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 23:05
Ich bestreite die Ausführungen der Vorredner nicht, habe allerdings bei etwas solch simplem wie dem Modulschnappschuß bereits negative Erfahrungen gesammelt: Bei dem nützten auch Administratorrechte eines 32-Bit-Programmes unter Windows (7) 64 Bit (vermutlich auch bei anderen 64-Bit-Windows) nicht, um vollständige Informationen (d.h., über jeden Prozeß, auch die Systemprozesse) einlesen zu können. Mithin griff ich zu Lazarus, dessen 64-Bit-Compilat die gewünschten Funktionen bot.

Ich frage weil das Zielsystem Windows2008 64bit ist,
ich aber kein 64bit System zum Testen habe.
Alternativ könnte man das Programm zunächst unter 32-Bit-Lazarus entwickeln und dann - für denjenigen, dem die 64 Bit zur Verfügung stehen - auf 64 Bit portieren. Mit ein wenig Glück klappt das sogar ohne jede Änderung (so war es bei mir bereits bei 2 Projekten). Zugegeben: Lazarus ist aus der Delphi-Perspektive (noch?) kein Hochgenuß, aber was nicht ist, kann (und wird?) ja noch werden, und letztlich ist das Ergebnis das Wichtigste, dem sich der Weg dorthin unterordnen sollte.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#8

AW: 32bit Service auf 64bit Platform

  Alt 23. Okt 2010, 23:44
Ich bestreite die Ausführungen der Vorredner nicht, habe allerdings bei etwas solch simplem wie dem Modulschnappschuß bereits negative Erfahrungen gesammelt: Bei dem nützten auch Administratorrechte eines 32-Bit-Programmes unter Windows (7) 64 Bit (vermutlich auch bei anderen 64-Bit-Windows) nicht, um vollständige Informationen (d.h., über jeden Prozeß, auch die Systemprozesse) einlesen zu können.
Und was meinst du mit "Systemprozessen"?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

AW: 32bit Service auf 64bit Platform

  Alt 24. Okt 2010, 14:36
Ich bestreite die Ausführungen der Vorredner nicht, habe allerdings bei etwas solch simplem wie dem Modulschnappschuß bereits negative Erfahrungen gesammelt: Bei dem nützten auch Administratorrechte eines 32-Bit-Programmes unter Windows (7) 64 Bit (vermutlich auch bei anderen 64-Bit-Windows) nicht, um vollständige Informationen (d.h., über jeden Prozeß, auch die Systemprozesse) einlesen zu können.
Und was meinst du mit "Systemprozessen"?
Die, die z.B. beim Modulschnappschuß nur dann ein konsistentes (= anzahlig größer als Null) Ergebnis zurückliefern, wenn das Programm zuvor erfolgreich Exklusivrechte ("Privilegien") anforderte. Es sind dies von der Prozeß-ID her die niedrigen Prozesse, sie reichen bei mir namentlich von "System" bis "svchost", während die anderen Prozesse ab "explorer.exe" (in Richtung steigender Prozeß-IDs) auch ohne solche Privileganforderung solche Informationen preisgeben. Desweiteren benötigt man auch diese maximalen bzw. exklusiven Privilegien, um solche Prozesse mit niedrigen IDs "abzuschießen".

Irgendetwas muß an diesen Prozessen anders sein (Ring 0?); ich nenne sie, wohl nicht ganz korrekt, Systemprozesse.

Geändert von Delphi-Laie (24. Okt 2010 um 16:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#10

AW: 32bit Service auf 64bit Platform

  Alt 24. Okt 2010, 16:05
Alles klar

Die, die z.B. beim Modulschnappschuß nur dann ein konsistentes (= anzahlig größer als Null) Ergebnis zurückliefern, wenn das Programm zuvor erfolgreich Exklusivrechte ("Privilegien") anforderte. Es sind dies von der Prozeß-ID her die niedrigen Prozesse, sie reichen bei mir namentlich von "System" bis "svchost", während die anderen Prozesse ab "explorer.exe" (in Richtung steigender Prozeß-IDs) auch ohne solche Privileganforderung solche Informationen preisgibt. Desweiteren benötigt man auch diese maximalen bzw. exklusiven Privilegien, um solche Prozesse mit niedrigen IDs "abzuschießen".
Dienste abzuschießen ist ohnehin eine schlechte Idee, es sei denn alles andere schlägt fehl. Zuerst sollte man "net stop" (API-Funktion ControlService) benutzen. Früher konnte man bspw. auch winlogon.exe abschießen, da aber der Session-Manager (smss.exe) ein Handle auf diesen Prozeß hielt, kassierte man dafür innerhalb von Sekunden einen BSOD.

"System" ist kein Prozeß und kann auch nicht abgeschossen werden. Genau wie der "Leerlaufprozeß" (aka "Idle process"), der ebenfalls nur ein Pseudo-Prozeß ist. "System" repäsentiert in gewisser Weise den NT-Kernel und die darin geladenen Treiber. Hat einfach was mit dem Scheduling zu tun.

Irgendetwas muß an diesen Prozessen anders sein (Ring 0?); ich nenne sie, wohl nicht ganz korrekt, Systemprozesse.
Sie laufen in der Service-Session (üblicherweise 0), welche ab Windows Vista strenger vom Rest des Systems abgetrennt ist. Außerdem laufen sie oft unter anderen Benutzerkonten.

Nachtrag: mit Ring 0, aka Kernelmodus, hat das nicht viel zu tun. Üblicherweise hat fast jeder Thread (außer reine Kernelthreads) etwas sowohl in Ring 0 als auch in Ring 3 zu erledigen. Und da Prozesse im Grunde nur Threads "gruppieren", ist die Aussage auf Prozesse insoweit anwendbar. Es gibt aber auch gewisse Ausnahmen wo die Grenze (insbesondere beim Start) verschwimmt, bspw. smss.exe
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (24. Okt 2010 um 16:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.
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