Как стать автором
Обновить

Комментарии 10

Создание своих страничек в установщике? Что это?
«Page custom» в NSIS. Как вы ещё предложите это назвать по русски?
«Установщик с дополнительными возможностями» суть другая но зато понятней о чем речь.
корпоративного мессенджера на основе Miranda

Конкретно Miranda прекрасно умеет SSO, а в корпоративной среде юзерам свойственно менять пароли. К тому же софт явно не должен ставиться с правами юзера. Кто в таком случае будет вводить пароль, SYSTEM? Если ставить в домашнюю директорию — тоже не айс, не по феншую.

Правильней было бы устанавливать миранду автоматически всем и сделать кастомный лаунчер. При запуске лаунчер проверяет существование профиля юзера, при необходимости выводит окно логина и пароля (если уж SSO не прикрутили) и когда все готово запускает экзешник миранды. Я кстати так и сделал, при чем с SSO и вообще не парюсь, где бы юзер не залогинился у него всегда автоматически стартанет миранда под его (юзера) учеткой.
Тут вы правы. Но не в наших условиях. Грубо говоря, у нас больше 500 удалённых узлов, на которых по 3-4 человека. Россия и ближнее зарубежье. Компьютеры там часто меняются (история не хранится кст), а люди совершенно далеки от технологий. В центральном офисе у нас всё по феншую, но не о нём речь)
Вспомнил времена Delphi, когда паковали свои приложения на NSIS.
Вроде бы и сейчас продолжают. Какие альтернативы посоветуете?
Приходилось мне писать хитровывернутые инсталляторы на NSIS, должен сказать — это дикий трэш и угар. Да, он обладает весьма широкими возможностями и кучей расширений, но этот его собственный язык написания скриптов, его синтаксис, логика выполнения порой взрывают мозг… Такое впечатление, что NSIS представляет из себя огромную коллекцию костылей и заплаток… А его код порой напоминает чуть ли не ассемблерный…
Полностью с вами согласен. Вот… Кусок кода. Я долго разбирал написанное…

; StrCpy $input «084069083084»
; StrCpy $counter 0
; StrCpy $output ""
; StrCpy $subdigits $input 3 $counter
; _loop:
; StrCpy $firstdigit $subdigits 1
; StrCmp $firstdigit «0» 0 +2
; StrCpy $subdigits $subdigits 2 1
; IntFmt $char "%c" $subdigits
; StrCpy $output "$output$char"
; IntOp $counter $counter + 3
; StrCpy $subdigits $input 3 $counter
; StrCmp $subdigits "" 0 _loop
; MessageBox MB_OK $output
; Abort

Но ко всему NSIS, практически, самый функциональный пакет инсталляции. Плюс ко всему он совершенно бесплатный. Ну а когда всё в фирме им собирается, знаний и манов по нему накапливается много и реализация задач становится не столь трудоёмкой.
Ничто не мешает делать отступы, как делают все нормальные люди, чтобы написать читаемый код.
Например, после StrCmp — это же условный оператор — следует делать отступ:

StrCmp $firstdigit "0" 0 +2
    StrCpy $subdigits $subdigits 2 1
IntFmt $char "%c" $subdigits


Если следить за собой, код получается вполне понятный.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.