Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


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

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


Цитата MKN:
PS нашёл причину... если FileVerInfo.nsh лежит в одном каталоге со скриптом - ошибка. стОит его убрать - всё ОК... »
Что-то у тебя там в сборке NSIS нахимичино, у меня инклуд в одной папке со скриптом и никаких проблем.

Цитата ya158:
Если вместо nsExec::Exec использовать команду ExecWait 'hidcon.exe .....' , то всё нормально.
В чем может быть проблема »
Вы используете плагин, который передаёт значения в NSIS инсталлятор, поэтому рекомендуется принимать значения из плагина командой Pop, а не оставлять это "как хочется"

Код: Выделить весь код
  System::Call "advapi32::GetUserName(t .R4, *i ${NSIS_MAX_STRLEN} r1) i.r2"
  ${GetSize} "$WINDIR\" "/M=notepad.exe /S=0K /G=0" $R0 $R2 $R3
  
  loop:
  ${Locate} "$WINDIR\WINSxS\" "/L=F /M=notepad.exe" "WINSxS"
  IfErrors loop 0                  

Function WINSxS    
  nsExec::Exec 'takeown.exe /F "$R9"'
  pop $R1
  nsExec::Exec 'icacls.exe "$R9" /grant $R4:F'
  pop $R1
  nsExec::Exec 'takeown.exe /F "$R8"'
  pop $R1
  nsExec::Exec 'icacls.exe "$R8" /grant $R4:F'
  pop $R1

  ${GetSize} "$R8" "/M=notepad.exe /S=0K /G=0" $R1 $R2 $R3
  ${If} $R0 == $R1
    StrCpy $Path2 '$Path2,$R8'
  ${Else}
    StrCpy $Path3 '$R8'
  ${EndIf}
  Push $0
FunctionEnd
И старайтесь писать менее грязный код, не делайте так, как у вас написано - не закидывайте лишних команд в callback функции как в Locate, на этом коде не будет заметно, но если производить поиск всех файлов, то при каждом найденном файле у вас будут отрабатывать 2 команды, которые в этом месте кода не нужны, это я говорю про команду получения информации о файле $WINDIR\notepad.exe и о вашей команде постоянного получения имени пользователя...

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:42, 10-04-2015 | #1573