megane68 К слову про код твоей страницы... Намутили чего то и усложнили...
Можно было, к примеру так :
Цитата: !include "MUI2.nsh"
!insertmacro MUI_LANGUAGE "Russian"
Page custom MyPage SetFlags
Page Instfiles
Var Dialog
Var RadioButton1
Var RadioButton2
Var Font1
Var Font2
Var Radio1
Var Radio2
Function MyPage
!insertmacro MUI_HEADER_TEXT "Выберите тип установки:" "стандартный или портативный для всех пользователей."
nsDialogs::Create 1018
Pop $Dialog
CreateFont $Font1 "Tahoma Bold" "8" "700"
CreateFont $Font2 "Tahoma Bold" "8" "700"
${NSD_CreateRadioButton} 0 25u 100u 10u "Standard installation"
Pop $RadioButton1
${NSD_SetState} $RadioButton1 1
SendMessage $RadioButton1 ${WM_SETFONT} $Font1 1
${NSD_CreateLabel} 20 40u 300u 10u "Установить для текущего пользователя этого компьютера."
${NSD_CreateRadioButton} 0 75u 100u 10u "All users or portable"
Pop $RadioButton2
SendMessage $RadioButton2 ${WM_SETFONT} $Font2 1
${NSD_CreateLabel} 20 90u 300u 10u "Установить для всех пользователей этого компьютера."
nsDialogs::Show
FunctionEnd
Section "1" St
MessageBox MB_OK "Standard installation"
SectionEnd
Section "2" Port
MessageBox MB_OK "All users or portable"
SectionEnd
Function SetFlags
${NSD_GetState} $RadioButton1 $Radio1
${NSD_GetState} $RadioButton2 $Radio2
${If} $Radio1 = 1
SectionSetFlags ${Port} 0
SectionSetFlags ${St} 1
${EndIf}
${If} $Radio2 = 1
SectionSetFlags ${St} 0
SectionSetFlags ${Port} 1
${EndIf}
FunctionEnd
и шрифт не обязательно новый создавать, если устраивал жирный из заголовка... Есть ведь ${WM_GETFONT}
Но это так, мелочи...
ps
Цитата: В оригинальном установщике, если пользователь не админ, то портативная установка не может пройти в Program Files
Ну и у себя так сделай... Если пользователь не админ, то ...
ps2
Цитата: Надо не только проверить, надо, чтобы стандартная установка происходила с правами админа.
Ты хочешь решить двойную задачу одним установщиком.
Чтобы и запускался от пользователя , а потом ещё и устанавливался, как админ, если выбрано...
"Как админ" тут весьма условно - всего лишь установка в иную папку назначения... И если настоящий админ грамотно перекроет кислород посторонним установкам, то рядовой пользователь ничего не сделает... Можно конечно сделать в установщике, чтобы даже для пользователя назначались крутые права, но опять же - зачем ?
Если я тебя правильно понял...
Есть ещё хедер MultiUser.nsh для комбинированных установок...
Наверное проще для "чистой" двойной установкии использовать два дистр-ва с разными правами...
Только нахрена так делать...