undefined: tbot.NewServer
означает, что Go находит библиотеку tbot, но не находит функцию NewServer
.
Нет такой функции в этой библиотеке .
Почему Вы не можете встроить эту конфигурацию в таблицу Property MSI (постсборка, с помощью преобразования) и затем читать оттуда? Это имело бы намного больше смысла... разжечь Косатку, добавить несколько свойств, сохранить преобразование и развернуться через GPO с примененным преобразованием.
Править: Просто перечитайте этот вопрос..., затем развертывают настройки на реестре и прочитали приложение оттуда, вместо того, чтобы установить переменные среды. Установка глобальных переменных среды для одного приложения не имеет смысла для точки зрения администраторов.
Мое исследование говорит, что существует четыре способа сделать это. Я запустил на уровне страниц документации Microsoft Logon Script и разветвился оттуда.
Войдите в пакетный файл (.BAT), сценарии являются просто временным экземпляром окна CMD, и набор переменных среды там уходит, как только окно входа в систему закрывается.
set MYVAR=MyValue
Не будет работать по вышеупомянутой причине.
Так, альтернативно, я могу попытаться установить переменную через прямую запись в реестр как так для Системной переменной:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v MYVAR /t REG_EXPAND_SZ /d MyValue
или к Переменным Пользовательской среды как так:
reg add HKCU\Environment /v MYVAR /t REG_EXPAND_SZ /d MyValue
Недостаток здесь состоит в том, что переменные, хотя записано в реестр, не читаются до следующего входа в систему для всего я вижу. Новое окно CMD не показывает трассировки их, пока пользователь не перевходит в систему.
Со сценарием входа в систему Сценария Visual Basic (VBS) можно использовать более программный метод для доступа к переменным среды. Это похоже на мой самый жизнеспособный подход. Этот пример добавил бы в конец ПУТИ.
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("SYSTEM")
WshEnv("Path") = WshEnv("Path") & ";M:\DB\whatever\"
Этот пример просто установил бы переменную.
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WshEnv = WshShell.Environment("SYSTEM")
WshEnv("MYVAR") = "MyNewValue"
Этот подход приводит к переменным, которые сразу доступны через окно CMD. Никакая перезагрузка не требуется как записи реестра пакетного файла.
Файлы ADM являются способом выставить пользовательскую функциональность настроек Редактору Групповой политики. Это кажется хитрым для устанавливания их и видимый на контроллере домена, таким образом, я перепрыгиваю через эту опцию.
Microsoft Support TechNet Reference на расположении файлов ADM.
Другая статья о файлах ADM и использовании их для установки настроек Registry.
Аппаратные средства Tom на файлах ADM.
---- set.adm ----
CLASS MACHINE
CATEGORY "Environment"
POLICY "Self dfined variables"
KEYNAME "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
PART "Set MyVar1 =" EDITTEXT
DEFAULT "MyValue1"
VALUENAME MyVar1 ; EXPANDABLETEXT
; add expandabletext if it can contain Variables itself
END PART
END POLICY
END CATEGORY
---- set.adm ----
Windows Server 2008 имеет новую возможность, названную Расширениями Среды для Предпочтений Групповой политики. Это позволяет Вам удобно устанавливать то, что иначе потребовало сложных сценариев пакетной обработки. Новые выставленные объекты включают значения реестра, переменные среды, и т.д. Быстрое руководство с практическими рекомендациями доступно здесь.
Я не могу использовать эту опцию, потому что у моих клиентов нет Windows Server 2008.
Скажите мне на основе Ваших событий как Windows Administrators который из этих работ лучше всего и почему. Я - просто настольный разработчик и нуждаюсь в понимании администратора.