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

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

Аватара для hb860

Идиот


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

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


Выкладываю на общий суд свой подход к сборке этой программы.
Собственно, цель закрывать какие-либо панели я не ставил, я никогда не отключаю их, и потому дистрибутив вышел таким:
  1. никаких Yandex-панелей;
  2. по-умолчанию автопереключение отключено;
  3. включено дополнительное переключение раскладки по правому CTRL;
  4. включена индикация раскладки национальными флагами.
Скачать
Собрано на NSIS, тихая установка с ключом /S.

Немного расскажу, как сделать свою сборку этой программы, со своими настройками.
1. Поместите файлы программы в папку, например в d:\ps. Файлы берем из установленного приложения.
2. Исправьте строку !define pkgdir "d:\package" на !define pkgdir "d:". Скрипт ищет файлы для упаковки по принципу ${pkgdir}\ps
3. Настройте программу так, как вам нравиться. Экспортируйте ветку [HKEY_CURRENT_USER\Software\Yandex\Punto Switcher\3.1] в файл d:\ps\ps.reg
4.
Скомпильте этот скрипт:

Код: Выделить весь код
!define PRODUCT_NAME "Punto Switcher"
!define PRODUCT_VERSION "3.1.1.72"
!define pkgdir "d:\package"

; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; Installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;Lang
!insertmacro MUI_LANGUAGE "Russian"
; MUI end ------

Name "${PRODUCT_NAME}"
Caption "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\Punto Switcher\"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "By Winreview.ru"

Section "MainSection" SEC01
  SetOutPath "$INSTDIR"
  File   /r "${pkgdir}\punto\"
  WriteUninstaller "$INSTDIR\uninst.exe"
  SetShellVarContext all
  CreateDirectory "$SMPROGRAMS\Punto Switcher"
  CreateShortCut "$SMPROGRAMS\Punto Switcher\Punto Switcher.lnk" "$INSTDIR\Punto.exe" "" "$INSTDIR\Punto.exe" 0
  CreateShortCut "$SMPROGRAMS\Punto Switcher\Настройка раскладок.lnk" "$INSTDIR\layouts.exe" "" "$INSTDIR\layouts.exe" 0
  CreateShortCut "$SMPROGRAMS\Punto Switcher\Справка по программе.lnk" "$INSTDIR\ps.chm"
  CreateShortCut "$SMPROGRAMS\Punto Switcher\Удалить.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0
     
  WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Punto Switcher" "$INSTDIR\Punto.exe"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayName" "$(^Name)"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayVersion" "${PRODUCT_VERSION}"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayIcon" "$INSTDIR\Punto.exe"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" "$INSTDIR\uninst.exe"
  ExecWait "regedit.exe /S $\"$INSTDIR\ps.reg$\""
  Delete "$INSTDIR\ps.reg"
SectionEnd


Section Uninstall
  RMDir /r "$INSTDIR"
  SetShellVarContext all
  RMDir /r "$SMPROGRAMS\Punto Switcher\"
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "Punto Switcher"
  SetAutoClose true
SectionEnd


Baw17, может, добавить в шапку ещё и описание программы ? Такое, например:
Punto Switcher - автоматический переключатель раскладки клавиатуры. Сейчас программой владеет Yandex, под их брэндом выпускаются новые версии. Разработчик позиционирует функционал так:
Цитата:
Когда вы забываете переключить раскладку с русской на английскую и наоборот, то вместо «Windows» получается «Цштвщцы», а вместо «молоко» — «vjkjrj». Punto Switcher это исправит — раскладка будет переключаться автоматически.

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

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

Отправлено: 22:55, 06-02-2010 | #78