Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateityp registrieren unter Vista (https://www.delphipraxis.net/114607-dateityp-registrieren-unter-vista.html)

Willie1 28. Mai 2008 07:47


Dateityp registrieren unter Vista
 
Hallo Leute,
ich hoffe, ich bin in der richtigen Sparte.
Wie kann ich unter Windows Vista einen eigenen Dateityp in der Registry anmelden. Die Rezepte, die ich hier gefunden habe, funktionieren mit W98 wunderbar nicht aber mit Vista, weil Vista offensichtlich einen Schreibzugriff auf HKEY_CLASSES_ROOT nicht zulässt. Wenn ich Delphi nutze, bin ich als Administrator angemeldet.

MfG
Willie

Bernhard Geyer 28. Mai 2008 07:57

Re: Dateityp registrieren unter Vista
 
Zitat:

Zitat von Willie1
Hallo Leute,
ich hoffe, ich bin in der richtigen Sparte.
Wie kann ich unter Windows Vista einen eigenen Dateityp in der Registry anmelden. Die Rezepte, die ich hier gefunden habe, funktionieren mit W98 wunderbar nicht aber mit Vista, weil Vista offensichtlich einen Schreibzugriff auf HKEY_CLASSES_ROOT nicht zulässt. Wenn ich Delphi nutze, bin ich als Administrator angemeldet.

Aber deine gestarteten Prozesse nicht wenn UAC (User Account Control) aktiv ist und diese kein entsprechendes Manifest haben das sie Administrationsrechte benötigen. Über die Forensuche solltest du genügend Beispiele finden.


Ach übrigens.

Herzilich willkommen in der Delphi-Praxis.

Willie1 28. Mai 2008 08:10

Re: Dateityp registrieren unter Vista
 
Kannst du mir ein Stichwort zur Forensuchen nennen?
Willie

Sherlock 28. Mai 2008 08:21

Re: Dateityp registrieren unter Vista
 
Also die Forensuche spinnt bei mir grad, aber das hier geht auch ;)
http://www.gidf.de/uac+manifest

Sherlock

Willie1 28. Mai 2008 08:27

Re: Dateityp registrieren unter Vista
 
Du hasz recht, die Forensuche funktioniert zZ nicht!
Willie

messie 28. Mai 2008 08:38

Re: Dateityp registrieren unter Vista
 
@Sherlock: Seit wann wird in diesem Forum so mit Neulingen umgegangen?

Zitat:

Zitat von Daniel
Willkommen in der freundlichen Community rund um Borlands/CodeGears Entwicklertool "Delphi".


Grüße, Messie

Luckie 28. Mai 2008 08:43

Re: Dateityp registrieren unter Vista
 
Zitat:

Zitat von Willie1
Kannst du mir ein Stichwort zur Forensuchen nennen?
Willie

Ohne großes Brainstorming und ohne Analyse des Brainstormings mit anschliessender Selektierung und Bewertung der Ergebnisse, würde ich spontan mal Hier im Forum suchenUAC manifest versuchen, auch wenn es auf den ersten Blick mehr als abwegig erscheint.

Sherlock 28. Mai 2008 08:44

Re: Dateityp registrieren unter Vista
 
Ach, gar nicht...Tut mir ja leid, ich find diesen Link einfach nur so lustig. Und weil die Forensuche gerade nicht funktionierte, und ich keinen richtigen Googlesuchlink basteln konnte :oops:

Das hier sollte die Lösung sein:
http://channel9.msdn.com/Showpost.aspx?postid=211271


Ich stell mich ja schon in die Ecke.
Sherlock

Willie1 28. Mai 2008 09:05

Re: Dateityp registrieren unter Vista
 
Ich hatte mir vorgestellt, in den Programmeinstellungen einmalig meinen Dateityp zu registrieren und vor der Deinstallation wieder zu entfernen, wie das zB auch IrfanView tut (ob das unter Vista geht, weiß ich nicht). Geht wohl mit Vista nicht oder nur mit großenm Aufwand?

Mit UAC und dem Manifest muss ich mich erst einlesen. danke für Links!

Schönen Gruß
Willie

Luckie 28. Mai 2008 09:11

Re: Dateityp registrieren unter Vista
 
Zitat:

Zitat von Willie1
Ich hatte mir vorgestellt, in den Programmeinstellungen einmalig meinen Dateityp zu registrieren und vor der Deinstallation wieder zu entfernen, wie das zB auch IrfanView tut (ob das unter Vista geht, weiß ich nicht). Geht wohl mit Vista nicht oder nur mit großenm Aufwand?

Warum sollte das nicht mehr gehen? Es muss eben einmal als richtiger Administrator gestartet werden, wie bei einer Installation eben und beim Deinstallieren natürlich eben so.

MathiasSimmack 28. Mai 2008 09:21

Re: Dateityp registrieren unter Vista
 
Was ist mit der Variante über HKEY_CURRENT_USER? Seit Windows 2000 unterstützt (habe ich vom Seehasen-Chris gelernt ;)). Bedeutet im Zweifel zwar, dass man die Registry "voll müllt", dafür benötigt man aber keine Admin-Rechte, und zumindest fürs eigene Konto steht die registrierte Dateiendung zur Verfügung.

Willie1 28. Mai 2008 09:56

Re: Dateityp registrieren unter Vista
 
Hallo Mathias,
ich habe mein Programm mit "als Administrator öffnen" getestet: der Dateityp wird ordnungsgemäß registriert und auch wieder entfernt. Das ist wohl die Lösung für mein Problem! Ich habe nur mit einer Durchsuche mit Regedit festgestellt, dass der Dateityp an sehr viel mehr Stellen eingetragen wird als bei XP und W98. Das Entfernen ist also aufwendiger. Als Basis habe ich übrigens deinen Code benutzt.
Es ist wohl besser, die Dateityp Registrierung in die Installation zu verlegen!

MfG

Bernhard Geyer 28. Mai 2008 10:14

Re: Dateityp registrieren unter Vista
 
Zitat:

Zitat von MathiasSimmack
Was ist mit der Variante über HKEY_CURRENT_USER? Seit Windows 2000 unterstützt (habe ich vom Seehasen-Chris gelernt ;)). Bedeutet im Zweifel zwar, dass man die Registry "voll müllt", dafür benötigt man aber keine Admin-Rechte, und zumindest fürs eigene Konto steht die registrierte Dateiendung zur Verfügung.

Jedoch könnte es u.U. bei unterschiedlichen Einträgen under HKEY_CURRENT_USER/HKEY_LOCAL-MACHINE Windows Vista teilweise anfängt zu Würfeln wenn man dies nicht nur für Dateiverknüpfungen macht sondern auch für COM-Registrierungen. Also lieber mit Vorsicht verwenden und dann immer nur diese Variante.

Willie1 28. Mai 2008 11:28

Re: Dateityp registrieren unter Vista
 
Hallo Bernhard,
nochmal meine Frage: Programm mit "als Administrator öffnen" und HKEY_CLASSES_ROOT benutzen ist in Ordnung?

MathiasSimmack 28. Mai 2008 11:32

Re: Dateityp registrieren unter Vista
 
@Bernhard: Das habe ich nicht gemeint.

Eine Dateiregistrierung sollte normalerweise durch das Setup ausgeführt werden, weil ein Setup in der Regel die dazu notwendigen Rechte hat. Wer seine Programme ohne Setup verteilt, muss die Registrierung dann entweder mit einem Hilfstool oder mit dem Programm selbst durchführen.

Als Lösung bietet sich beim Erststart eine Prüfung an. Das Programm könnte im Zweifel anbieten, dass der Benutzer die Endung für sein eigenes Konto registrieren lässt (HKCU), oder es bietet einen Neustart (ggf mit einem speziellen Parameter) mit Admin-Rechten an, damit die Registrierung für den Rechner erfolgen kann.


Davon, dass User A die Endung ".xyz" mit Programm A und User B die gleiche Endung global mit Programm B registriert, habe ich nicht gesprochen. Dass das Windows aus dem Tritt bringen kann, wundert mich allerdings auch nicht. ;)

ralfiii 28. Mai 2008 13:52

Re: Dateityp registrieren unter Vista
 
Zitat:

Zitat von Willie1
Ich hatte mir vorgestellt, in den Programmeinstellungen einmalig meinen Dateityp zu registrieren und vor der Deinstallation wieder zu entfernen, wie das zB auch IrfanView tut (ob das unter Vista geht, weiß ich nicht). Geht wohl mit Vista nicht oder nur mit großenm Aufwand?

Ich würde Dir empfehlen, dass bei der Installation vom Installer erledigen zu lassen.
Wenn du Hilfe brauchst, ich kann Dir die entsprechenden Zeilen für InnoSetup gerne zukommen lassen.

Willie1 28. Mai 2008 15:36

Re: Dateityp registrieren unter Vista
 
Ich habe verstanden. In Zukunft werde ich die Dateityp-Registrierung in das Setup-Programm verlegen. Ich benutze InnoSetup, ich denke, es wird klappen und eine Registrierung für alle User ist sicher sinnvoll.

Bis dahin: mit "als Administrator öffnen" läuft es ja auch.

Danke an alle, die geantwortet haben.
W.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.

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