2017-02-27 4 views
-2

Ich mache ein Installationsprogramm für eine Anwendung, die ein benutzerdefiniertes URI-Schema und einen eigenen Dateityp hat, um damit zu öffnen. Die Anwendung mit einer launcher.bat ausgeführt, in der Registrierung habe ich die launcher.bat dazu gesetzt. Es funktioniert wie es sein sollte, es sei denn, ich möchte die Anwendung mit seinem Namen registrieren, um als öffnende Anwendung sowohl in Exporer als auch in Browser anstelle von launcher.bat angezeigt werden.Windows-Registrierung - eine Anwendung zum Öffnen eines Dateityps registrieren

die Registrierungsdatei, die von dem Installationsskript angelegt ist folgende (es wird dynamisch generiert wird, so nicht dagegen, den Anwendungspfad als auch):

Windows Registry Editor Version 5.00 

; ---- Add myext extension 
[-HKEY_CLASSES_ROOT\.myext] 

[HKEY_CLASSES_ROOT\.myext] 
"content-type"="application/myext+xml" 
@="myapp" 


; ---- Add myapp for protocol 
[-HKEY_CLASSES_ROOT\myapp] 

[HKEY_CLASSES_ROOT\myapp] 
@="URL:tahuna Protocol" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\myapp\DefaultIcon] 
@="MyApplication.exe,1" 

[HKEY_CLASSES_ROOT\myapp\shell] 
@="open" 

[HKEY_CLASSES_ROOT\myapp\shell\open] 
@="Open with My Application" 

[HKEY_CLASSES_ROOT\myapp\open\command] 
@="\"C:\\Program Files (x86)\\My Application\\launcher.bat\" \"%1\"" 

Was muss ich noch hinzufügen zur Registrierung, um dies zu tun?

+0

Was ist das eigentliche Problem? – Anders

Antwort

0

Nach ein paar Tagen der Graben, habe ich die Lösung gefunden:

Die Registrierung oben weist Erweiterung der Launcher (oder jede ausführbare Datei) um es zu öffnen mit, aber das OS zeigt nur den Namen der ausführbaren Datei als die zugehörige Programm - das ist in Ordnung, weil es nicht registriert war. Dies könnte im Eigenschaftenfenster der Datei angezeigt werden, die mit einem Rechtsklick auf die Datei verknüpft ist, und mit dem Öffnen von geöffnet wird, und sogar in Browsern, wenn ein URI-Schema registriert wird.

Um dies zu tun, muss die Anwendung auch in der Registrierung registriert werden. Nach dem Graben des Internets, schließlich gefunden auf MSDN die zusätzliche Registrierung Änderungen, die dies tun.

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Applications\MyApplicationLauncher.bat] 
FriendlyAppName = "My Application" 
DefaultIcon = "<MyApplicationPath>\MyApplication.exe,1" 

Beachten Sie, dass unter Verwendung von Anwendungsnamen wie launcher.bat oder start.bat könnte zu Konflikten führen; um seine Einzigartigkeit zu beweisen, musste ich es im Installer-Paket umbenennen, um es zu identifizieren.

1

Vorname Ihre Art:

assoc .<ext> <anyName> 

und legen Sie dann das Programm zu öffnen:

ftype <anyName>=<application-path> 

Ersetzen Sie alle Namen in Winkel-Klammern mit Ihren Namen:

<ext>: die Verlängerung

<anyName>: ein Name, wo w Indows weiß, welches Programm zu verwenden, können Sie assoc mehrmals mit verschiedenen Erweiterungen

<application-path>: der Dateiname des Programms, um es zu öffnen.

+0

Danke, es funktioniert wie es ist, aber es ist Mandaroty für mich – Caiwan

Verwandte Themen