2012-11-26 15 views
7

Mam nadzieję, że ktoś może mi pomóc przetłumaczyć poniższe na poprawnie sformatowany wpis InnoSetup [Rejestru] do użycia w moim instalatorze InnoSetup? Celem jest utworzenie nowego niestandardowego protokołu URL na komputerze użytkownika.Inno Setup Wpis rejestru dla niestandardowego protokołu URL

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

czytam przez doc InnoSetup pomóc, ale nie mogliśmy zorientować się, jak tłumaczyć powyższe pod odpowiednim dziale InnoSetup rejestru:

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

Wynik końcowy po instalatora działa jest to, że użytkownik klika łącze w witrynie internetowej sformatowanej jako "ctp: //myapp.exe", a lokalna aplikacja uruchomi się na komputerze użytkownika. Czy podchodzę do tego prawidłowo? Dziękuję bardzo za wszelkie odpowiedzi.

+1

Essentiually, trzeba dodać pojedynczy '[Registry]' wpis dla każdej wartości. Zagnieżdżanie jest nieistotne i wystarczy podać pełną ścieżkę klucza do każdej wartości w sekcji "Klucz:". Zobacz przykład [FAQ entry] (http://www.jrsoftware.org/isfaq.php#assoc). – Deanna

+0

Ponadto, nie zapomnij użyć '% 1' w twoim [' polecenie powłoki'] (http://msdn.microsoft.com/en-us/library/aa767914 (v = vs.85) .aspx # app_reg) wartość. – TLama

Odpowiedz

9

Spróbuj to tak:

[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

Odpowiedź zapewniona przez TLAMę działa doskonale! Dzięki wielkie. Mam jeszcze jedno pytanie. Czy istnieje sposób sprawdzenia, czy lokalny plik istnieje przy użyciu javascript na stronie internetowej? Nie muszę uruchamiać aplikacji, wystarczy sprawdzić, czy istnieje przed wywołaniem nowego protokołu URL i czy nie monituje użytkownika o pobranie. – Tim

+0

Nie ma za co! Jeśli to rozwiąże Twoje pytanie, możesz rozważyć [zaakceptowanie go w ten sposób] (http://meta.stackexchange.com/a/5235/179541). Do twojego dodatkowego pytania. Pytam o to jako osobne pytanie, proszę (szczerze mówiąc, nie byłbym w stanie ci odpowiedzieć, ponieważ nie znam JavaScript). Dziękujemy i witamy w StackOverflow! – TLama

Powiązane problemy