2013-04-04 6 views
10

Używam sekcji [run] do modyfikowania wartości merytorycznej niektórych kodeków za pomocą komendy commandmerit.exe obsługującej linię poleceń.Parametr ustawienia inno z cudzysłowami w sekcji [RUN]

więc składnia jest:

Commandmerit.exe "{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}" "0x800000" 

{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9} jest CLSID od kodeka i 0x800000 jest wartość nowej zasługi, ale kiedy mogę umieścić ten wiersz w [run] odcinku:

Filename: "{app}\Commandmerit.exe"; Parameters: ""{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}" "0x10000000""; WorkingDir: "{app}" 

Wyświetlany jest bieżący błąd:

Mi poprawione lub błędne kwantyfikacja parametru.

Jeśli mogę umieścić ten wiersz: zostaje wyświetlony

Filename: "{app}\Commandmerit.exe"; Parameters: """{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}" "0x10000000"""; WorkingDir: "{app}" 

Płynąca błędu:

nieznaną stałą ...... używać dwóch kolejnych "{", jeśli .... .

Jeśli mogę umieścić ten wiersz:

Filename: "{app}\Commandmerit.exe"; Parameters: """{{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}}" "0x10000000"""; WorkingDir: "{app}" 

Następnie zostanie wyświetlony żaden błąd, ale wydaje się, że nie rozumiem commandmerite.exe parametr, więc po instalator zakończy zasługę nadal niezmienioną

Odpowiedz

21

Aby dodać cytaty na parametr, należy podwoić każdą ofertę, a następnie umieścić w cudzysłowie całej wartości.

Twoja druga próba była blisko, ale zapomniałeś o środkowych.

Filename: "{app}\Commandmerit.exe"; Parameters: """{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}"" ""0x10000000"""; WorkingDir: "{app}" 
+0

tak teraz to działa, dziękuję deannie i jachuate za pomoc –

+0

Cóż, to było moje drugie przypuszczenie ... +1 dla ciebie, Deanna;) – jachguate

3

widzę dwie różne rzeczy w swoim problemu.

Po pierwsze, { ma specjalne znaczenie w konfiguracji inno, ponieważ jest początkiem stałej. Musisz więc uciec z {, podwajając go, np. {{. Nie ma potrzeby ucieczki z nawiasu zamykającego, ponieważ jest traktowany jako koniec stałej tylko wtedy, gdy jest początkiem tej stałej.

Po drugie, jest to, że starasz się przekazać " jako część napisu, ale to wydaje się zbędne w tym przypadku, ponieważ celów " znaku w parametrach linii poleceń jest umożliwienie użycia spacji wewnątrz jeden parametr, ale żaden z parametrów nie ma spacji.

Wszystkie powiedział, że musi spróbować pisania polecenie tak:

[run] 
Filename: "{app}\Commandmerit.exe"; Parameters: {{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD} 0x10000000; WorkingDir: "{app}" 
+0

dzięki odpowiedź por jachguate, ale oryginalna składnia exe jest: Commandmerit.exe "{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}" "0x800000" Jej z „{...} "" .. "od pierwotnego programisty commandmerite.exe –

+0

Tak, wiem o tym !. Czy wypróbowałeś moje rozwiązanie? – jachguate

+2

Jeśli chcesz umieścić cudzysłowy w samym parametrze, podwójny WSZYSTKIE z nich: 'Parametry:" "" {F8FC6C1F-DE81-41A8-90FF-0316FDD439FD} "" "" 0x10000000 "" ";' – Deanna

Powiązane problemy