Замечания и предложения

В разные годы было по-разному. Сейчас насколько я понимаю это именно Program Files, но именно этот каталог освобожден от админских полномочий.

Но мы начали обсуждать с Вами не то. На домашнем компьютере я бы конечно все настройки оставлял. А на учебных - по умолчанию - сносил.

Кхм. Отдельный установщик для учебной версии? да ну, бред… или нет?

Это радикально решается только переводом на систему с терминальным доступом, хотя бы уровня Microsoft RDS. И все эти проблему уйдут.

На моей последней работе пользователи - взрослые ответственные люди - и то временами что-то у себя сносили или портили. Перевели под citrix - как рукой сняло. Правда там масштабы другие, терминальные сервера в Москве стоят и обслуживают десятки тысяч (!) рабочих мест, но ведь это лишь вопрос масштаба, а не принципа.

Ага, теперь мне понятно, почему у вас ничего никогда в реестр не пишется, а все хранится в текстовых файлах в Program Files :upside_down_face: Я все, конечно, понимаю – ставки админа на кафедре, очевидно, у вас нет. Но открыть всем ветрам Program Files (x86) – это же… нарушает базовый принцип администрирования Windows! Надеюсь, хотя бы второй Program Files (который не x86) у вас недоступен всем и каждому.

Да нет, то самое! В том-то и дело, что нельзя найти общее удобное решение, если одни правила соблюдают (большинство), а другие их намеренно нарушают (единицы).

Эти кастомные настройки важны только для продвинутых пользователей – в первую очередь для членов данного коммьюнити, которые тестируют каждый новый билд, иногда по несколько штук в день. И если сделать как предлагаете вы, то при малейшей оплошности (НЕ отключения нужной опции) – все их усилия по индивид. настройке могут пойти прахом, ну, или прийдется по-прежнему поддерживать актуальные бэкапы, как правило, вручную – не комильфо! В чем тогда вообще весь смысл этой затеи для нас?

А студенты ваши, раз вы им позволяете все самим инсталлировать, в случае проблем всегда смогут спросить у преподавателя – он подскажет, что попробуйте теперь переинсталлировать с такой-то галкой – таким образом “тайное знание” быстро станет общеизвестным. Это же и есть учебный процесс!

Ну, прежде всего это вопрос финансирования: терминальный доступ на серверах MS да с отдельной учеткой на сервере для каждого студента/школьника – это очень дорогое удовольствие по лицензиям. Не говоря уже про клиентские RDP лицензии, надежный выделенный сервер (желательно с RAID и дублированными БП) + хороший UPS с дистанционным управлением и мониторингом, грамотно настроенные внешние бэкапы (опять же железо + софт + настройка), быстрая качественная сетка (или лицензии на Citrix) и грамотного админа для всего этого хозяйства. И это далеко не полный список того, что надо для надежной, безопасной и бесперебойной работы такой сети с доступом в Инет.

Если бы у них на все это были деньги/ресурсы, они бы так не извращались, как сейчас.

Цитрикс - он дорогой, конечно. А RDP майкрософтовские - там лицензия $60 - 80 на место. А учетки - Uch01, Uch02,… По числу терминальных станций.

У меня просто нет слов! Жесть! Бедная, полуграмотная училка… Её бы саму на какие-нибудь курсы для чайников отправить, прежде чем к детям и школьным компам подпускать! “Голь на выдумки хитра” – но для этого “голь” должна быть, как минимум, квалифицированной. А то, что вы описываете – это же на грани профнепригодности!

Ну, это я понимаю. Вы сами сказали. Кастомные настройки важны только для единиц. Поэтому массово их надо сносить.

По идее надо делать два разных инсталлята и всё. Или писать батник и инсталлировать тогда через него. Продвинутым. С опциями командной строки.

Я также прошу не уводить разговор в сторону, критикуя нас за то, как наши администраторы на факультете работают. Это неприятно, поверьте. Началось всё с настроек, а заканчивается критикой жизненных позиций и жизненных установок.

1 лайк

Массово инсталлировать со сносом настроек и без флажков. Для продвинутых пользователей с сохранением настроек - предлагать запустить батничек. Второй батничек - для тихой установки в учебных классах со сносом настроек.

1 лайк

7 сообщений перенесены в тему Болталка PascalABC.NET

Я все равно вас не понимаю – вашим студентам не нужно будет массово что-то включать в инсталляторе: если вы когда-нибудь обновите содержимое этих файлов в исходниках, то обновится дата их создания и файлы у всех студентов перепишутся автоматом даже при выключенной опции

…У нас же при этом не будет риска затереть нестандартные настройки без всяких плясок с батниками и командной строкой.

Единственная ситуация, когда кому-то прийдется включать эту опцию – это если файлы были испорчены и он не знает, как их иначе восстановить. Ну столкнется студент-айтишник первый раз с такой ситуацией, спросит у преподавателя один раз – и весь класс сразу узнает, как это элементарно лечится. Где проблема-то?

Странно, что Вы боитесь батников. Я бы выложил такой батник раз уж так надо и не тратил бы кучу времени чтобы понять, как эти опции делаются в NSIS.

Бесшумная установка кстати - с ключом /S

Я не знаю, как удобнее это будет сделать средствами NSIS, но я бы предложил для простоты (чтобы не плодить тучу командных опций) при наличии параметра /s для “тихой” установки сначала искать и парсить файл, указанный явно в командной строке:

PascalABCNETSetup.exe /s my_settings.ini

Если файл явно не задан, то искать в текущей папке, откуда запускается инсталлятор, дефолтный файл настроек PascalABCNETSetup.ini или PascalABCNETMiniSetup.ini, соответственно. При отсутствии явно указанного или дефолтного файла, но наличии в команде параметра /s выдавать ошибку и прерывать установку. Кроме того, нужны консольные коды завершения установщика: с любой ошибкой (1) и без (0), как минимум.

Файл “тихих” настроек должен иметь простой формат, напр. классический .ini, где одна текстовая строка – один параметр, с разбивкой по группам, как в дереве настроек через GUI.

Граф. интерфейс при “тихой” установке желательно показывать, поскольку установка довольно долгая и нужно видеть прогресс. Или же сделать доп. консольный интерфейс с простейшим прогресс-баром (типа звездочек или процентов) и выводом сообщений об ошибках, которые можно перенаправить в файл.

Я их не боюсь, но это просто неудобно и неправильно – требовать обычную переустановку через батник только для того, чтобы не затереть по умолчанию пользовательские настройки. Так никто обычно не делает, поскольку это против правил best practices в Windows!

Батники обычно используют только в исключительных случаях, когда нужны какие-то специфические режимы, настройки окружения, доп. нестандартные проверки и т.п. Иначе это жуткий костыль какой-то.

@Admin, помните, Вы говорили про написание статей и руководств по PascalABC.NET? Как считаете, есть смысл написать статью по приёмам оптимизации кода?

Нет конечно. Оптимизация - это высоконаучная область. Из популярного изложения почитайте например Ахо. Компиляторы (последнее издание)

1 лайк

Вы меня, наверное, неправильно поняли. Я хочу написать статью наподобие этой, только с учётом специфических возможностей Паскаля и некоторыми другими примерами.

2 лайка

Понятно. Это конечно другая оптимизация.

Честно сказать, не знаю. Статья на хабре уже написана. Переписывать на Паскаль ее смысла нет. И - есть гигантское количество других оптимизаций. В числе которых протяжка констант например.

2 лайка

Я и не говорю, что переписывать. В Паскале много своих особенностей. Например то, что локальные переменные работают быстрее глобальных, работа с указателями отличается от C#. Я, кстати, уже спрашивал про оптимизацию с помощью хэша процессора, но никто мне так и не ответил.

1 лайк

Ахо теперь что, без Ульмана пишет? Я когда-то по их книге писал кросс-компилятор… Эх, были же времена…

1 лайк