AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Programm nur für XP aber nicht in Vista mit Kompatibili...
Thema durchsuchen
Ansicht
Themen-Optionen

Programm nur für XP aber nicht in Vista mit Kompatibili...

Ein Thema von turboPASCAL · begonnen am 24. Jun 2009 · letzter Beitrag vom 25. Jun 2009
Antwort Antwort
Seite 3 von 4     123 4      
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#21

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 24. Jun 2009, 21:53
Auf Luckies Seite gibts eine Funktion die das Vorgehen an einer Datei demonstriert:
http://www.michael-puff.de/Developer...leAccess.shtml

Das Vorgehen bei Registry ist analog. Nur das Du Dir halt die ACL des Registry Objektes holst.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 24. Jun 2009, 23:29
Zitat von Fridolin Walther:
Zitat von Dezipaitor:
Wenn du damit anfängst, dann wird etwas später auch diese Funktion emuliert. Das ist ein reines Katz- und Mausspiel.
Emuliert ist das falsche Wort. Imho benutzen Shims Code Patches bzw. Hooks wenns komplexer sein soll.
Und warum soll das falsch sein? Die Funktion wird sich so verhalten, als ob sie auf einem XP ausgeführt werden würde: Sie simuliert. Im Komp.modus sind eine Menge extra DLLs für diese Schindel bereitgestellt, die die alten Verhaltensweisen simulieren.
Zitat von Wikipedia:
Als Emulator (von lat. aemulare, „nachahmen“) wird in der Computertechnik ein System bezeichnet, das ein anderes nachahmt. Das nachbildende System erhält die gleichen Daten, führt die gleichen Programme aus und erzielt die möglichst gleichen Ergebnisse wie das originale System.
Zitat von Fridolin Walther:
Zitat von Dezipaitor:
Ich kann mir ehrlich gesagt, kein Grund vorstellen auf Anwendungsebene.
GINA Installer z.B.? Ist ja nicht so das Microsoft keine "Technologien" "gedropt" hätte von XP auf Vista.
Naja, das ist schon eher die Systemebene und nicht die Anwendungsebene. Wenn man im System arbeitet, dann sollte man aber auch schon bei den Systemaufrufen überprüfen, ob das überhaupt so funktioniert hat. Obwohl: GINA wird einfach ignoriert und garnicht erst gestartet, daher ist auch keine Überprüfung notwendig. Der Installer kann da installieren was er will.

--
Das AccessCheck ist nur mit Vorsicht zu genießen. Es ist meist besser, auf die Ressource direkt zuzugreifen und das Ergebnis abzuwarten. Meist benutzt man AccessCheck auch nur, um die maximalen Zugriffsrechte zu bekommen, um diese z.B. unverbindlich anzuzeigen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#23

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 24. Jun 2009, 23:44
Zitat von Dezipaitor:
Zitat von Fridolin Walther:
Zitat von Dezipaitor:
Wenn du damit anfängst, dann wird etwas später auch diese Funktion emuliert. Das ist ein reines Katz- und Mausspiel.
Emuliert ist das falsche Wort. Imho benutzen Shims Code Patches bzw. Hooks wenns komplexer sein soll.
Und warum soll das falsch sein?
Zitat:
The word "emulator" was coined in 1957 at IBM, as an optional feature in the IBM 709 to execute legacy IBM 704 programs on the IBM 709. Registers and most 704 instructions were emulated in 709 hardware. Complex 704 instructions such as floating point trap and input-output routines were emulated in 709 software. In 1963, IBM constructed emulators for development of the NPL (360) product line, for the "new combination of software, microcode, and hardware"[13].
It has recently become common to use the word "emulate" in the context of software. However, before 1980, "emulation" referred only to hardware emulation, while "simulation" referred to software emulation[14]. For example, a computer especially built for running programs designed for another architecture is an emulator. In contrast, a simulator could be a program which runs on a PC, so that old Atari games can be run on it. Purists continue to insist on this distinction, but currently the term "emulation" often means the complete imitation of a machine executing binary code.
Aber ist wahrscheinlich Definitions- und Auslegungssache. Für mich ist das ersetzen einer Funktion durch eine andere nicht wirklich Emulation, weil bei mir Emulation fast zwangsläufig immer in Bezug zu Hardware steht, die emuliert werden soll. Hättest Du direkt von Simulation gesprochen, hät ich wahrscheinlich nicht widersprochen. Wenn Du die Definition einer Emulation anders interpretieren oder auslegen möchtest, ist das ok und ich zieh meine Bedenken über die Wortwahl zurück.

Zitat von Dezipaitor:
Naja, das ist schon eher die Systemebene und nicht die Anwendungsebene.
Es ist User Mode ...
Zitat von Dezipaitor:
Wenn man im System arbeitet, dann sollte man aber auch schon bei den Systemaufrufen überprüfen, ob das überhaupt so funktioniert hat. Obwohl: GINA wird einfach ignoriert und garnicht erst gestartet, daher ist auch keine Überprüfung notwendig. Der Installer kann da installieren was er will.
Was nichts daran ändert, daß ein guter Installer das GINA gar nicht erst installiert auf Vista+. Dafür müsste er aber heraus finden auf welchem System er wirklich läuft - unabhängig von evtl. aktivierten Shims. Und da kann sowas dann nützlich sein.
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 00:08
Zitat von Fridolin Walther:
Zitat von Dezipaitor:
Naja, das ist schon eher die Systemebene und nicht die Anwendungsebene.
Es ist User Mode ...
Zitat von Dezipaitor:
Wenn man im System arbeitet, dann sollte man aber auch schon bei den Systemaufrufen überprüfen, ob das überhaupt so funktioniert hat. Obwohl: GINA wird einfach ignoriert und garnicht erst gestartet, daher ist auch keine Überprüfung notwendig. Der Installer kann da installieren was er will.
Was nichts daran ändert, daß ein guter Installer das GINA gar nicht erst installiert auf Vista+. Dafür müsste er aber heraus finden auf welchem System er wirklich läuft - unabhängig von evtl. aktivierten Shims. Und da kann sowas dann nützlich sein.
Früher gab es eine Zeit, da hat MS den Programmierern vertraut, dass sie das Richtige machen. Das ist gründlich daneben gegangen und daher gibt es eben diese ganzen Kompatibilitätsmodi.
Vertraue der Vergangenheit; die Nutzung von undokumentierten Funktionen, um z.B. die korrekte Windowsversion herauszufinden ist ein Schuss ins Knie. Die Funktion wird wie ein Laubfeuer im Internet verstreut und von jedem Hobby-Programmierer bedenkenlos eingesetzt. Es wird immer mehr Programme geben, die auf neueren Windows absichtlich den Dienst verweigern, obwohl die Nutzung möglich wäre (es gibt eine Menge Programme, die nicht einmal korrekt die Windowsversion auslesen können: http://www.hitech-blog.com/software/...7-version-6-1/). Und wer bekommt die Schuld? Natürlich MS, weil die ihr OS nicht kompatibel zum Vorgänger halten konnten. Also wird diese Funktion für all diese Programme so umgeschrieben, dass sie die gewünschte Version zurückgibt. Und da wären wir wieder am Anfang des Katz- und Mausspiels.
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 jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#25

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 09:10
Zitat von Fridolin Walther:
Das Vorgehen bei Registry ist analog. Nur das Du Dir halt die ACL des Registry Objektes holst.
Ja, danke, das scheint in Kombination mit RegGetKeySecurity soweit zu klappen.

Mal schauen, ob das bei mir passt oder es anders sinnvoller ist. Denn so wie Dezipaitor es geschrieben hat (zugreifen und Ergebnis anschauen) mache ich es ja im Moment und das ist für den Zweck um den es in diesem Thread geht wohl auch die sinnvollere (und einfachere) Variante.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#26

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 09:45
Hi,

Also für mich hat sich dieses Thema soweit erledigt.

Mein Prg. fragt nun die "echte" Windowsversion mittels RtlGetNtVersionNumbers() ab und überprüft ob der User Administrator ist.
Stimmt alles started das Programm, anderen falls gibt es eine entsp. Meldung und das wird beendet.

Warum der Aufwand ?
Das Programm ist nur für XP und soll dort nur für Admins bereitstehen.
Um zu verhindern das Vistanutzer sich die Registry mit Werten vollmüllen, da es diese Werte in Vista nicht gibt und auch nicht erzeugt werden sollen.
In XP können diese Werte entweder erzeugt werden oder schon existieren.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Dezipaitor

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

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 10:03
Und da rollt der Stein...
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#28

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 11:15
Ganz ehrlich Dezipaitor ... ich kann die Hintergründe von Microsoft ja ansatzweise verstehen. Aber was schlägt Microsoft vor, wie sich ein GINA Installer oder hier halt das Tool von TurboPascal verhalten soll? Einfach trotzdem die Registry Werte schreiben und Dateien installieren, obwohl genau bekannt ist, daß sie ohne Wirkung sind und das System nur zumüllen?
Fridolin Walther
"While Mr. Kim, by virtue of youth and naiveté, has fallen prey to the inexplicable need for human contact, let me step in and assure you that my research will go on uninterrupted, and that social relationships will continue to baffle and repulse me."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#29

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 13:47
Nun ja, so was wird in der Regel durch einen Administrator installiert und der sollte eigentlich wissen, was er macht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#30

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.

  Alt 25. Jun 2009, 14:01
Ab Windows bekommt man eh keine Zertifizierung mehr, wenn das Programm auf eine bestimmte Windows Version prüft und einfach abbricht.

@tP

warum läuft dein Programm denn unter NT6.x nicht? Nur wegen den Rechten oder warum genau? Da ist mir immer noch nicht klar geworden.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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:09 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