Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Используя ваш пример «Создание собственных страниц инсталлятора», вот сделал такую страничку.
Пример кода:
Цитата:
;-Создание собственной страницы инсталлятора (страница "Выбор установки ключа регистрации"), начало функций
Var Dialog1
Var GroupBox
Var RadioButtonA
Var RadioButtonB
Var RadioButtonC

Function fnCustomInit2
!insertmacro MUI_HEADER_TEXT "Вабор регистрационого ключа для Total Commander 6.55" "Выбирите из предлогаемого списка один из ключей"
nsDialogs::Create 1018
Pop $Dialog

${NSD_CreateGroupBox} 0 5% 100% 50% "Регистрационные ключи для Total Commander 6.55:"
Pop $GroupBox

${NSD_CreateRadioButton} 10 18u 70% 10% "Browseup Ltd"
Pop $RadioButtonA

${NSD_CreateRadioButton} 10 30u 70% 10% "CNRS IRIT-UMR 5505"
Pop $RadioButtonB

${NSD_CreateRadioButton} 10 42u 70% 10% "COMVERSE CNS"
Pop $RadioButtonC

nsDialogs::Show
FunctionEnd

Function fnCustomDestroy2
${NSD_GetState} $RadioButtonA $R0
StrCmp $R0 1 0 SkipA
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\Browseup Ltd\WinCmd.key"
SkipA:

${NSD_GetState} $RadioButtonB $R0
StrCmp $R0 1 0 SkipB
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\CNRS IRIT-UMR 5505\WinCmd.key"
SkipB:

${NSD_GetState} $RadioButtonC $R0
StrCmp $R0 1 0 SkipC
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\COMVERSE CNS\WinCmd.key"
SkipC:
FunctionEnd
;-Конец функций
В ней пользователь должен выбрать один из предлагаемых трёх элементов.
Всё работает лишь тогда когда прописывается путь полностью…
Пример кода:

Цитата:
Function fnCustomDestroy2
${NSD_GetState} $RadioButtonA $R0
StrCmp $R0 1 0 SkipA
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\Browseup Ltd\WinCmd.key"
SkipA:

${NSD_GetState} $RadioButtonB $R0
StrCmp $R0 1 0 SkipB
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\CNRS IRIT-UMR 5505\WinCmd.key"
SkipB:

${NSD_GetState} $RadioButtonC $R0
StrCmp $R0 1 0 SkipC
SetOutPath "$INSTDIR"
File "..\Setups\TotalCmd\COMVERSE CNS\WinCmd.key"
SkipC:
FunctionEnd
Я пробовал изменить код, ну чтобы не прописывать путь к файлу полностью…
Пример кода 1:

Цитата:
Function fnCustomDestroy2
${NSD_GetState} $RadioButtonA $R0
StrCmp $R0 1 0 SkipA
SetOutPath "$INSTDIR"
File /r "TotalCmd\Browseup Ltd\WinCmd.key"
SkipA:

${NSD_GetState} $RadioButtonB $R0
StrCmp $R0 1 0 SkipB
SetOutPath "$INSTDIR"
File /r "TotalCmd\CNRS IRIT-UMR 5505\WinCmd.key"
SkipB:

${NSD_GetState} $RadioButtonC $R0
StrCmp $R0 1 0 SkipC
SetOutPath "$INSTDIR"
File /r "TotalCmd\COMVERSE CNS\WinCmd.key"
SkipC:
FunctionEnd
или
Пример кода 2:

Цитата:
Function fnCustomDestroy2
${NSD_GetState} $RadioButtonA $R0
StrCmp $R0 1 0 SkipA
SetOutPath "$INSTDIR"
File /r "TotalCmd\*.key*"
SkipA:

${NSD_GetState} $RadioButtonB $R0
StrCmp $R0 1 0 SkipB
SetOutPath "$INSTDIR"
File /r "TotalCmd\*.key*"
SkipB:

${NSD_GetState} $RadioButtonC $R0
StrCmp $R0 1 0 SkipC
SetOutPath "$INSTDIR"
File /r "TotalCmd\*.key*"
SkipC:
FunctionEnd
Но так не срабатывает.
ВОПРОС
Как сделать, чтобы не прописывать путь к файлу полностью?

Отправлено: 19:46, 18-07-2010 | #545