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

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

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


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

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


Прощу прощения я не заметил, что код не весь вот вроде весь
под XP на виртуалке я пробовал и все работает как надо а вот под семеркой все проблемы вылезают.

Код: Выделить весь код
!define PRODUCT_NAME "Sprint Layout"
!define PRODUCT_VERSION "6.0"
!define PRODUCT_PUBLISHER "Abacom"
!define PRODUCT_WEB_SITE "http://www.abacom-online.de"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Layout60.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

; MUI 1.67 compatible ------
!include "MUI.nsh"
!include "x64.nsh"


Function .onInit
${If} ${RunningX64}
SetRegView 32
${EndIf}
FunctionEnd


Section  -Associations
WriteRegStr HKLM "SOFTWARE\Classes\.lay" "" "Layout.File.6_0"
WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6" "" "Редактор печатных плат"
WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\DefaultIcon" "" "$INSTDIR\lay.ico"
WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\shell" "" "open"
WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\shell\Open\command" "" "$\"$INSTDIR\Layout60.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Microsoft\Windows NT\CurrentVersion\EXTENSIONS" "lay" "$\"$\"$INSTDIR\Layout60.exe$\" ^.lay$\""

SectionEnd

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "C:\Инсталятор sprint layout\SprintLayout\icons.ico"
!define MUI_UNICON "C:\Инсталятор sprint layout\SprintLayout\Delete_win7.ico"

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "C:\Инсталятор sprint layout\SprintLayout\license.txt"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\Layout60.exe"
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES

; Language files
!insertmacro MUI_LANGUAGE "Russian"

; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Sprint Layout 6.0 setup.exe"
InstallDir "$PROGRAMFILES\Sprint Layout"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

Section "MainSection" SEC01
  SetOutPath "$INSTDIR"
  SetOverwrite ifnewer
  File "C:\Инсталятор sprint layout\SprintLayout\Layout60.exe"
  CreateDirectory "$SMPROGRAMS\Sprint Layout 6"
  CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Sprint Layout.lnk" "$INSTDIR\Layout60.exe"
  CreateShortCut "$DESKTOP\Sprint Layout.lnk" "$INSTDIR\Layout60.exe"
  File "C:\Инсталятор sprint layout\SprintLayout\LAYOUT60.INI"
  File "C:\Инсталятор sprint layout\SprintLayout\Sprint-Layout60.chm"
  CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Help.lnk" "$INSTDIR\Sprint-Layout60.chm"
  File "C:\Инсталятор sprint layout\SprintLayout\titel.bmp"
  File /r "C:\Инсталятор sprint layout\SprintLayout\Makros"
  File "C:\Инсталятор sprint layout\SprintLayout\lay.ico"
SectionEnd

Section -AdditionalIcons
  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
  CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
  CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Uninstall.lnk" "$INSTDIR\uninst.exe"
  
SectionEnd

Section -Post
  WriteUninstaller "$INSTDIR\uninst.exe"
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Layout60.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Layout60.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd


Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "Поздравляем программа $(^Name) успешно удалена."
FunctionEnd

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Вы уверены в том, что желаете удалить $(^Name) и все компоненты программы?" IDYES +2
  Abort
FunctionEnd

Section Uninstall

SetShellVarContext all
  
  RMDir /r "$SMPROGRAMS\Sprint Layout 6"
  RMDir  /r "$INSTDIR"
  
  Delete "$DESKTOP\Sprint Layout.lnk"
  
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
   
  SetAutoClose true
SectionEnd
Да и кстати у меня на семерке один пользователь админ и UAC отключен

Отправлено: 12:14, 12-02-2013 | #225