2012-11-26 7 views
7

Spero che qualcuno possa aiutarmi a tradurre quanto segue in una voce InnoSetup [Registry] correttamente formattata da utilizzare nel mio Installer InnoSetup? L'obiettivo qui è creare un nuovo protocollo URL personalizzato sul computer dell'utente.Inno Setup Voce di registro per il protocollo URL personalizzato

HKEY_CLASSES_ROOT  
     ctp 
      (Default) = "URL:Alert Protocol" 
      URL Protocol = "" 
      DefaultIcon 
       (Default) = "myapp.exe" 
      shell 
       open 
        command 
         (Default) = "C:\Program Files\MyApp\myapp.exe" 

ho letto attraverso il doc InnoSetup aiuto, ma non riusciva a capire come tradurre quanto sopra in una apposita sezione del Registro di sistema InnoSetup:

[Registry] 
Root: HKCR; Subkey: ".....etc. 

Il risultato finale, dopo il programma di installazione viene eseguito è che l'utente fa clic su un collegamento su un sito Web formattato come "ctp: //myapp.exe" e quell'app locale verrà avviata sul computer dell'utente. Mi sto avvicinando correttamente? Grazie mille per ogni risposta.

+1

Essentiually, è necessario aggiungere un singolo '[Registro]' voce per ciascun valore. Il nesting è irrilevante e devi solo specificare il percorso completo della chiave per ogni valore nella sezione 'Key:'. Vedi questo [FAQ entry] (http://www.jrsoftware.org/isfaq.php#assoc) per un esempio. – Deanna

+0

Inoltre, non dimenticare di usare '% 1' nel tuo [comando' shell'] (http://msdn.microsoft.com/en-us/library/aa767914 (v = vs.85) .aspx # app_reg) valore. – TLama

risposta

9

Prova in questo modo:

[Registry] 
Root: HKCR; Subkey: "ctp"; ValueType: "string"; ValueData: "URL:Custom Protocol"; Flags: uninsdeletekey 
Root: HKCR; Subkey: "ctp"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: "" 
Root: HKCR; Subkey: "ctp\DefaultIcon"; ValueType: "string"; ValueData: "{app}\YourApp.exe,0" 
Root: HKCR; Subkey: "ctp\shell\open\command"; ValueType: "string"; ValueData: """{app}\YourApp.exe"" ""%1""" 
+0

La risposta fornita da TLama funziona perfettamente! Grazie mille. Ho un'altra domanda. C'è un modo per verificare se esiste un file locale utilizzando javascript in una pagina web? Non ho bisogno di avviare l'app, ho solo bisogno di controllare per vedere se esiste prima di chiamare il nuovo protocollo URL e se non richiede all'utente di scaricarlo. – Tim

+0

Prego! Se ha risolto la tua domanda, potresti prendere in considerazione ["accettarlo in questo modo"] (http://meta.stackexchange.com/a/5235/179541). Alla tua domanda aggiuntiva. Questo si pone come una domanda separata, per favore (ad essere onesti, non sarei nemmeno in grado di risponderti dato che non conosco JavaScript). Grazie e benvenuto su StackOverflow! – TLama