PDA

Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [57] 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

Flix
06-04-2014, 00:09
MaGoth, а как у вас с правами доступа к файлу? А может в это время данный файл занят другим процессом? У меня все работает. Вот смотрите простенький пример. Сделали пустой документ RTF (License.rtf). Сделали для него инсталлятор. После завершения установки изменяем его временную метку.
Name "DataTimeStamp Change"
OutFile "DTSC.exe"
InstallDir "$PROGRAMFILES\TESSST"
XPStyle on

Section
SetOutPath $INSTDIR
File License.rtf
SectionEnd

Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
# распаковываем утилиту timestomp.exe во временную папку плагинов
File "${NSISDIR}\Bin\timestomp.exe"
FunctionEnd

Function .onInstSuccess
# после успешной установки файлов, меняем времменную метку файла
nsExec::ExecToStack '"$PLUGINSDIR\timestomp.exe" "$INSTDIR\License.rtf" -z "Saturday 10/08/2005 2:02:02 PM"'
FunctionEnd

Function .onGUIEnd
# при закрытии инсталлятора удаляем утилиту из временной папки
Delete "$PLUGINSDIR\timestomp.exe"
FunctionEnd
Попробуйте свою задачу разбить на отдельные узлы. Отладьте каждый из узлов, удостоверьтесь, что он выполняет возложенную на него функцию. А потом сведите все в окончательный файл сценария. Возможно инсталлятор нужно запускать с правами Администратора или делегировать эти полномочия на файл утилиты timestomp.exe.

MaGoth
07-04-2014, 13:33
MaGoth, а как у вас с правами доступа к файлу? А может в это время данный файл занят другим процессом? У меня все работает. Вот смотрите простенький пример. Сделали пустой документ RTF (License.rtf). Сделали для него инсталлятор. После завершения установки изменяем его временную метку.
читать дальше » »
Да, вроде все с правами админа, хотя, толком эту тему не ковырял ибо не доводилось использовать...
Может саму утилиту запускать с правами админа, вопрос только, как ?

Попробуйте свою задачу разбить на отдельные узлы. Отладьте каждый из узлов, удостоверьтесь, что он выполняет возложенную на него функцию. А потом сведите все в окончательный файл сценария. Возможно инсталлятор нужно запускать с правами Администратора или делегировать эти полномочия на файл утилиты timestomp.exe.[/post]
Ну, не первый же день пользуюсь Нсис, все выходные тестил и так и эдак, только один раз сработало и то, сам не понял как. Перезаписал сдуру файлик...

В логе постоянно выводятся ерроры по параметрам даты:
Error: When in the PM you must have an hour value between 1 and 12, inclusive.
Error: ParseDateTimeInput failed.

Вот и понять не могу, это в коде проги косяки, или происходит из-за использования Юникодного Нсис, может прогу как-то иначе запускать под ним нужно?
В справках и прочем ни какого толкового описания не нашел... :dont-know


Зы, Все-таки разобрался, прогу походу писал какой-то индус, мля...
Не нашел ни какого указания на маску времени для параметров записи дат и часов, правильно будет работать только так, в Юнике:

nsExec::ExecToStack '"..\timestomp.exe" "..\Pupkin.txt" -z "Неделя мм/дд/гг ч:м:с PM"'

При этом:
- для значения месяца указывать только от 1 до 12 без нулей.
- для значения часа с параметром РМ, указывать только от 1 до 12

Потом еще массово за тестирую...

alexfinik
07-04-2014, 15:48
kotkovets, http://www.markelov.net/articles.php?lng=ru&pg=39 ссылка нерабочая

Друзья, я нашёл кучу всего на форуме про кодировку, но что-то ничего не работает, что пробовал. Кто-то приводил пример наподобие MultiLanguage.nsi - у меня не заработал

Решил перейти на ANSI NSIS с UNICODE, ибо тут больше плагинов работает, чем там. Например авторизация с последующим скачиванием с ftp. Вот только не решил вопрос с русским языком, а в мануалах ничего подобного не нашел.

Киньте ссылку, если у кого-нибудь есть, пожалуйста!

MaGoth
07-04-2014, 15:59
Друзья, я нашёл кучу всего на форуме про кодировку, но что-то ничего не работает, что пробовал. Кто-то приводил пример наподобие MultiLanguage.nsi - у меня не заработал »
Что именно делал что не работает? У меня все прекрасно работает... если нужно скину пример с используемыми языками...

Решил перейти на ANSI NSIS с UNICODE, ибо тут больше плагинов работает, чем там. Например авторизация с последующим скачиванием с ftp. Вот только не решил вопрос с русским языком, а в мануалах ничего подобного не нашел.
Киньте ссылку, если у кого-нибудь есть, пожалуйста! »
Что до кодировок, то если используешь языки со спец символами: немецкий - умлауты, испанский, польский чешский и румынский, то ни хрена из этого нормально отображаться в Анси коде не будет. Работает только в Юнике..
Авторизация тоже должна работать, если я правильно помню, а что за плагины юзал для фтп ?!

alexfinik
07-04-2014, 17:01
MaGoth, да, пример был бы очень неплох. У меня многомодульный инсталлятор, поэтому наверное, лучше пример от тебя - и тебе легче, чтобы не копаться с моим кодом, и мне, наверное.

Спасибо за отклик!!!
P.S. Мне только русский нужен

Наверное следует упомянуть мои модули...
!include nsDialogs.nsh
!include LogicLib.nsh
!include zipdll.nsh
!include MUI2.nsh
!include NSISArray.nsh
!include defines.nsh
!include dialogs.nsh

alexfinik
07-04-2014, 18:58
А код этот пробовал. Кажется он принадлежит kotkovets

!include "MUI2.nsh"
Caption "MultiLanguage Modern UI Test"
Name "MultiLanguage Test"
OutFile "Test MultiLanguage.exe"
;--------------------------------
!define MUI_LANGDLL_ALLLANGUAGES
!define MUI_WELCOMEPAGE_TITLE "$(WELCOMEPAGE_TITLE)"
!define MUI_WELCOMEPAGE_TEXT "$(WELCOMEPAGE_TEXT)"
;--------------------------------
!define MUI_FINISHPAGE_TITLE "$(FINISHPAGE_TITLE)"
!define MUI_FINISHPAGE_TEXT "$(FINISHPAGE_TEXT)"
;--------------------------------
!define MUI_COMPONENTSPAGE_SMALLDESC
;--------------------------------
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
;--------------------------------
!insertmacro MUI_LANGUAGE "Russian" ;first language is the default language
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_RESERVEFILE_LANGDLL
;--------------------------------
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;--------------------------------
Section "$(NAME_SECTION)" SecDummy
MessageBox MB_ICONINFORMATION|MB_OK "$(Text_MessageBox)"
SectionEnd

;--------------------------------------------------------------------
;Текст описания странички приветствия
LangString WELCOMEPAGE_TITLE ${LANG_RUSSIAN} "ДОБРО ПОЖАЛОВАТЬ!"
LangString WELCOMEPAGE_TITLE ${LANG_ENGLISH} "WELCOME!"
LangString WELCOMEPAGE_TEXT ${LANG_RUSSIAN} "Это пример показывает как поместить свой текст описания в \
зависимости от выбранного языка инсталлятора!$\r$\n$\r$\n$_CLICK"
LangString WELCOMEPAGE_TEXT ${LANG_ENGLISH} "This example shows how to put your text descriptions, \
depending on the selected language installer!$\r$\n$\r$\n$_CLICK"
;--------------------------------------------------------------------
;Текст описания странички завершения
LangString FINISHPAGE_TITLE ${LANG_RUSSIAN} "ЭТО СТРАНИЦА ЗАВЕРШЕНИЯ!"
LangString FINISHPAGE_TITLE ${LANG_ENGLISH} "COMPLETION OF THIS PAGE!"
LangString FINISHPAGE_TEXT ${LANG_RUSSIAN} "Теперь вы знаете как поместить свой текст описания в \
зависимости от выбранного языка установщика!$\r$\n$\r$\nНажмите кнопку $\"Готово$\" \
для выхода из программы установки."

LangString FINISHPAGE_TEXT ${LANG_ENGLISH} "Now you know how to put your descriptive text depending on \
the language of the installer!$\r$\n$\r$\nClick Finish to close this wizard."
;--------------------------------------------------------------------
;Текст сообщения
LangString TEXT_MESSAGEBOX ${LANG_RUSSIAN} "Выбран Русский язык установщика!$\r$\n ID языка: $LANGUAGE"
LangString TEXT_MESSAGEBOX ${LANG_ENGLISH} "The English language installer!$\r$\n ID language: $LANGUAGE"
;--------------------------------------------------------------------
;Текст названия(имя) секции
LangString SECTION ${LANG_RUSSIAN} "Русское описание секции"
LangString SECTION ${LANG_ENGLISH} "The English description of section"
;Текст описания секции
LangString NAME_SECTION ${LANG_RUSSIAN} "Это русское название секции"
LangString NAME_SECTION ${LANG_ENGLISH} "This is the english name of the section"
;Макрос, который показавает текст описания секции
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(SECTION)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

MKN
09-04-2014, 12:23
Как изменить дату создания файла (при компилировании этого файла после отработки программы), на нужную, т.е. автоматически назначаемую системную дату, изменить на требуемую.. »
Наверняка можно API_шной функцией :
FileOpen $0 "$EXEDIR\file.exe" a
System::Call 'kernel32::SetFileTime(i, *l, *l, *l) i (r0, r1, r2, r3)'
FileClose $0

Только для этого, предварительно надо каким то образом создать стрктуру для даных времени... Может кто подскажет как ?
И ещё для этой задачи возможно подойдёт : http://nsis.sourceforge.net/Touch_File
если код подкорректировать не для текущей, а для назначаемой даты.

Mr.Evgen
09-04-2014, 15:04
Всем привет. Не подскажите есть ли готовый скрипт инсталятор? Просто с нуля я врят ли напишу, а готовый я бы под себя переделал.

Kopejkin
09-04-2014, 15:14
есть ли готовый скрипт »

В Справочнике по NSIS (http://forum.oszone.net/thread-168287.html) - Статьи от hb860.

Flix
09-04-2014, 17:25
Может кому-то будет интересно: NSIS 3.0 CVS 9.04.2014 Revision 6459 (http://rghost.ru/private/53915798/5b8d58815c96e28c9b0f9008c93dfa28)

Обновился сегодня с сервера c исходниками NSIS и выполнил компиляцию с параметрами: NSIS_MAX_STRLEN=8192 и NSIS_CONFIG_LOG=yes.
Список обновлений по сравнению с декабрьским релизом я давал ранее (здесь (http://forum.oszone.net/post-2333562-1119.html)).
Кто будет использовать, будьте внимательны, команда создания ярлыка CreateShortCut изменилась на CreateShortcut .

MKN
11-04-2014, 15:15
Ещё раз об изменении/установки временных атрибутов файлов. Т.к. с чистым API не всё ясно, то при использовании плагина
http://nsis.sourceforge.net/Time_plug-in
всё предельно просто :

!include "Time.nsh"
OutFile "File_time_set_test.exe"

Section
; это для контроля :
${time::GetFileTime} "$EXEDIR\MyFile.exe" $0 $1 $2
MessageBox MB_OK 'Определяем дату GetFileTime$\n$$0={$0}$\n$$1={$1}$\n$$2={$2}'

MessageBox MB_OK 'Установим новую дату : $\nФайл Создан 01.10.2014 01:30:40$\nИзменён 02.11.2013 21:31:41$\nОткрыт 03.12.2012 22:32:49'
${time::SetFileTime} "$EXEDIR\MyFile.exe" "01.10.2014 01:30:40" "02.11.2013 21:31:41" "03.12.2012 22:32:49" $R0
SectionEnd

Mr.Evgen
13-04-2014, 19:27
Здравствуйте. Я новичок. Нарисовал свою страницу в NSIS Form Designer, форма сохранилась в двух файлах. Как теперь показать её?

K.A.V.
13-04-2014, 22:46
NSIS Form Designer »
Совсем старенькая программка, как я понял - она помогает создавать INI файлы с параметрами страницы и элементов для использования с плагином InstallOptions

Я новичок »
Справочнике по NSIS (http://www.oszone.net/go.php?url=http://forum.oszone.net/thread-168287.html) читали?
Вам сначала нужно выбрать, каким способом вы хотите создавать странички, в NSIS есть 2 разных плагина для этих целей.
1. Старый способ. InstallOptionsEx - чтобы создать страничку с использованием данного плагина вам необходимо сначала создать INI файл с параметрами странички и необходимыми элементами (что и делает ваша старенькая программка)

2. Новый способ. nsDialogs. Чтобы создать страничку с использованием данного плагина вам необходимо прописать команды на создание каждого элемента управления (текст, галочка и т.д.) в коде скрипта. В этом вам поможет NSIS Dialog Designer - NSIS (http://nsis.sourceforge.net/NSIS_Dialog_Designer)

В справочнике есть примеры:
Обучение IO: собственные странички
Описания плагинов => nsDialogs: Создаем собственные страницы инсталлятора

Mr.Evgen
14-04-2014, 12:53
K.A.V., Я сильно извиняюсь. Перепутал названия. Я начал использовать dialog designer. Справку читал. Я только не смог понять dialog designer создает два файла. Это их надо подключить к скрипту или нужно код который создает дизайнер скопировать в мой скрипт?

Спасибо с этим разобрался. Скопировал код из dialog designer в свой скрипт. Только почему-то к моей форме добавляется лишние кнопки снизу. Да и еще. Как можно моей форме задать размер?

alexfinik
16-04-2014, 13:53
Друзья, может всё-таки кто-то знает почему данный код может не работать?

Вот сам программа

http://forum.oszone.net/post-2334376-1127.html

В логе компилятора смущают строки:
LangString: "WELCOMEPAGE_TITLE" 1049 "ДОБР*Рћ ПОЖАЛОВАТЬ!"
LangString: "WELCOMEPAGE_TITLE" 1033 "WELCOME!"
LangString: "WELCOMEPAGE_TEXT" 1049 "Р*то пример показывает как поместить СЃРІРѕР№ текст описания РІ зависимости РѕС‚ выбранного языка инсталлятора!

Весь лог компилятора такой:
MakeNSIS v2.46 - Copyright 1995-2009 Contributors
See the file COPYING for license details.
Credits can be found in the Users Manual.

Processing config:
Processing plugin dlls: "C:\Program Files (x86)\NSIS\Plugins\*.dll"
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- Dialogs::Author
- Dialogs::Folder
- Dialogs::InputBox
- Dialogs::InputRegCode
- Dialogs::Open
- Dialogs::Save
- Dialogs::Ver
- InetLoad::load
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- LangDLL::LangDialog
- Math::Script
- NSISArray::ArrayCount
- NSISArray::ArrayExists
- NSISArray::Clear
- NSISArray::Concat
- NSISArray::Copy
- NSISArray::Cut
- NSISArray::Debug
- NSISArray::Delete
- NSISArray::ErrorStyle
- NSISArray::Exists
- NSISArray::ExistsI
- NSISArray::FreeUnusedMem
- NSISArray::Join
- NSISArray::New
- NSISArray::Pop
- NSISArray::Push
- NSISArray::Put
- NSISArray::ReDim
- NSISArray::Read
- NSISArray::ReadToStack
- NSISArray::Reverse
- NSISArray::Search
- NSISArray::SearchI
- NSISArray::SetAutoReDim
- NSISArray::SetSize
- NSISArray::Shift
- NSISArray::SizeOf
- NSISArray::Sort
- NSISArray::Splice
- NSISArray::Subtract
- NSISArray::Swap
- NSISArray::Unshift
- NSISArray::Write
- NSISArray::WriteList
- NSISArray::WriteListC
- NSISList::Add
- NSISList::All
- NSISList::AllRev
- NSISList::Append
- NSISList::Clear
- NSISList::Concat
- NSISList::Copy
- NSISList::Count
- NSISList::Create
- NSISList::Debug
- NSISList::Delete
- NSISList::Destroy
- NSISList::Dim
- NSISList::Exch
- NSISList::First
- NSISList::Get
- NSISList::Index
- NSISList::Insert
- NSISList::Last
- NSISList::Load
- NSISList::Move
- NSISList::Pop
- NSISList::Reverse
- NSISList::Save
- NSISList::Set
- NSISList::Sort
- NSISList::Unload
- NSISdl::download
- NSISdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- UserInfo::GetOriginalAccountType
- VPatch::GetFileCRC32
- VPatch::GetFileMD5
- VPatch::vpatchfile
- ZipDLL::extractall
- ZipDLL::extractfile
- dialogsEx::FileBox
- dialogsEx::FolderBox
- dialogsEx::InputBox
- dialogsEx::InputRegBox
- inetc::get
- inetc::head
- inetc::post
- inetc::put
- nsArray::Clear
- nsArray::Get
- nsArray::Iterate
- nsArray::Join
- nsArray::Length
- nsArray::Remove
- nsArray::RemoveList
- nsArray::Set
- nsArray::SetList
- nsArray::Sort
- nsArray::Split
- nsDialogs::Create
- nsDialogs::CreateControl
- nsDialogs::CreateItem
- nsDialogs::CreateTimer
- nsDialogs::GetUserData
- nsDialogs::KillTimer
- nsDialogs::OnBack
- nsDialogs::OnChange
- nsDialogs::OnClick
- nsDialogs::OnNotify
- nsDialogs::SelectFileDialog
- nsDialogs::SelectFolderDialog
- nsDialogs::SetRTL
- nsDialogs::SetUserData
- nsDialogs::Show
- nsExec::Exec
- nsExec::ExecToLog
- nsExec::ExecToStack
- nsResize::Add
- nsResize::GetPos
- nsResize::GetPosPx
- nsResize::GetSize
- nsResize::GetSizePx
- nsResize::Set
- nsResize::SetRTL
- nsResize::Top

!define: "MUI_INSERT_NSISCONF"=""

Changing directory to: "D:\Desktop"

Processing script file: "D:\Desktop\testtest678.nsi"
!include: "C:\Program Files (x86)\NSIS\Include\MUI2.nsh"
!include: "C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh"
NSIS Modern User Interface version 2.0 - Copyright 2002-2009 Joost Verburg (C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh:8)
!define: "MUI_INCLUDED"=""
!define: "MUI_SYSVERSION"="2.0"
!define: "MUI_VERBOSE"="3"
!include: closed: "C:\Program Files (x86)\NSIS\Contrib\Modern UI 2\MUI2.nsh"
!include: closed: "C:\Program Files (x86)\NSIS\Include\MUI2.nsh"
Caption: "MultiLanguage Modern UI Test"
Name: "MultiLanguage Test"
OutFile: "Test MultiLanguage.exe"
!define: "MUI_LANGDLL_ALLLANGUAGES"=""
!define: "MUI_WELCOMEPAGE_TITLE"="$(WELCOMEPAGE_TITLE)"
!define: "MUI_WELCOMEPAGE_TEXT"="$(WELCOMEPAGE_TEXT)"
!define: "MUI_FINISHPAGE_TITLE"="$(FINISHPAGE_TITLE)"
!define: "MUI_FINISHPAGE_TEXT"="$(FINISHPAGE_TEXT)"
!define: "MUI_COMPONENTSPAGE_SMALLDESC"=""
!insertmacro: MUI_PAGE_WELCOME
!insertmacro: end of MUI_PAGE_WELCOME
!insertmacro: MUI_PAGE_COMPONENTS
!insertmacro: end of MUI_PAGE_COMPONENTS
!insertmacro: MUI_PAGE_INSTFILES
!insertmacro: end of MUI_PAGE_INSTFILES
!insertmacro: MUI_PAGE_FINISH
!insertmacro: end of MUI_PAGE_FINISH
!insertmacro: MUI_LANGUAGE
!insertmacro: end of MUI_LANGUAGE
!insertmacro: MUI_LANGUAGE
!insertmacro: end of MUI_LANGUAGE
!insertmacro: MUI_RESERVEFILE_LANGDLL
!insertmacro: end of MUI_RESERVEFILE_LANGDLL
Function: ".onInit"
!insertmacro: MUI_LANGDLL_DISPLAY
!insertmacro: end of MUI_LANGDLL_DISPLAY
FunctionEnd
Section: "$(NAME_SECTION)" ->(SecDummy)
MessageBox: 64: "$(Text_MessageBox)"
SectionEnd
LangString: "WELCOMEPAGE_TITLE" 1049 "ДОБР*Рћ ПОЖАЛОВАТЬ!"
LangString: "WELCOMEPAGE_TITLE" 1033 "WELCOME!"
LangString: "WELCOMEPAGE_TEXT" 1049 "Р*то пример показывает как поместить СЃРІРѕР№ текст описания РІ зависимости РѕС‚ выбранного языка инсталлятора!



$_CLICK"
LangString: "WELCOMEPAGE_TEXT" 1033 "This example shows how to put your text descriptions, depending on the selected language installer!



$_CLICK"
LangString: "FINISHPAGE_TITLE" 1049 "Р*РўРћ РЎРўР*РђРќР˜Р¦Рђ Р—РђР’Р•Р*РЁР•РќР˜РЇ!"
LangString: "FINISHPAGE_TITLE" 1033 "COMPLETION OF THIS PAGE!"
LangString: "FINISHPAGE_TEXT" 1049 "Теперь вы знаете как поместить свой текст описания в зависимости от выбранного языка установщика!



Нажмите кнопку "Готово" для выхода из программы установки."
LangString: "FINISHPAGE_TEXT" 1033 "Now you know how to put your descriptive text depending on the language of the installer!



Click Finish to close this wizard."
LangString: "TEXT_MESSAGEBOX" 1049 "Выбран Р*СѓСЃСЃРєРёР№ язык установщика!

ID языка: $LANGUAGE"
LangString: "TEXT_MESSAGEBOX" 1033 "The English language installer!

ID language: $LANGUAGE"
LangString: "SECTION" 1049 "Р*СѓСЃСЃРєРѕРµ описание секции"
LangString: "SECTION" 1033 "The English description of section"
LangString: "NAME_SECTION" 1049 "Р*то СЂСѓСЃСЃРєРѕРµ название секции"
LangString: "NAME_SECTION" 1033 "This is the english name of the section"
!insertmacro: MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro: end of MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro: MUI_DESCRIPTION_TEXT
!insertmacro: end of MUI_DESCRIPTION_TEXT
!insertmacro: MUI_FUNCTION_DESCRIPTION_END
!insertmacro: end of MUI_FUNCTION_DESCRIPTION_END

Processed 1 file, writing output:
Adding plug-ins initializing function... Done!
Processing pages... Done!
Removing unused resources... Done!
Generating language tables... Done!

Output: "D:\Desktop\Test MultiLanguage.exe"
Install: 5 pages (320 bytes), 1 section (1048 bytes), 437 instructions (12236 bytes), 228 strings (4882 bytes), 2 language tables (636 bytes).
Datablock optimizer saved 23884 bytes (~27.0%).

Using zlib compression.

EXE header size: 49664 / 35840 bytes
Install code: 4522 / 19498 bytes
Install data: 14812 / 125732 bytes
CRC (0x1B4C6D77): 4 / 4 bytes

Total size: 69002 / 181074 bytes (38.1%)

Kopejkin
16-04-2014, 18:00
почему данный код может не работать? »
Почему может не работать - не знаю, потому что код работает. (NSIS 3.02)
А лог компилятора такой:


Command line:
"C:\Program Files (x86)\NSIS\makensis.exe" "C:\Users\Vadim\Desktop\new_dialog\02.nsi"

Processing config: C:\Program Files (x86)\NSIS\nsisconf.nsh
Processing script file: "C:\Users\Vadim\Desktop\new_dialog\02.nsi" (ACP)

Processed 1 file, writing output (x86-ansi):

Output: "C:\Users\Vadim\Desktop\new_dialog\Test MultiLanguage.exe"
Install: 4 pages (256 bytes), 1 section (16408 bytes), 431 instructions (12068 bytes), 1 string (7143 bytes), 2 language tables (636 bytes).
Datablock optimizer saved 4112 bytes (~5.9%).

Using zlib compression.

EXE header size: 49664 / 35840 bytes
Install code: 5251 / 28759 bytes
Install data: 15028 / 84244 bytes
CRC (0x5DF849B3): 4 / 4 bytes

Total size: 69947 / 148847 bytes (46.9%)

4eshireCat
16-04-2014, 18:40
почему данный код может не работать? »

Скомпилировал в NSIS Unicode - вместо русского языка кракозябры, а вот в ANSI все отлично!

Limonica
16-04-2014, 22:49
Исходные данные:
TXT файл с одной числовой строкой.

Задача:
Проверить есть ли запись в этом тестовом файле, если нет, то крутится в цикле ожидая появления.

Решение:
Вот собственно с решением трудновато, сталкивался кто нибудь из форумчан, с проверкой записи в файле?

K.A.V.
16-04-2014, 23:50
Только почему-то к моей форме добавляется лишние кнопки снизу »
Вы про кнопки "Назад", "Далее" и "Отмена"? Делайте скриншоты, телепатов здесь нет.
Как можно моей форме задать размер? »
Ваша страничка помещается в диалог инсталлятора, изменить размер самого диалога нельзя, если я вас правильно понял...

Задача:
Проверить есть ли запись в этом тестовом файле, если нет, то крутится в цикле ожидая появления.
Решение:
Вот собственно с решением трудновато, сталкивался кто нибудь из форумчан, с проверкой записи в файле? »
Ещё одно подтверждение того, что нет смысла тратить своё время на обновление справочника, ну не хочет никто читать всю информацию в нём, чтобы повышать свои знания в NSIS, пока не ткнёшь носом - не прочитаете.
Перевод справки NSIS => LineRead: читаем содержимое строки по номеру

Limonica
17-04-2014, 07:31
K.A.V., с лету не нашел, онлайн общение всегда приятней ;) спасибо.




© OSzone.net 2001-2012