У меня есть небольшой c # dll, который реализует службу очереди сообщений, и в Windows он работает отлично.
Чтобы найти все очереди, я использую переменную среды, сохраненную в машине во время установки.
System.Environment.SetEnvironmentVariable ("PHMQ", install_dir, EnvironmentVariableTarget.Machine);
Теперь я просто попытался запустить его на Mono, и когда программы запускаются, возникает исключение.
Служба PHMQ не установлена.
После 2 часов поиска я обнаружил, что Mono на самом деле не хранит переменные такого рода, он просто отправляет их в null.
(простой текстовый файл был слишком прост?)
Итак, вопрос: как я могу решить эту проблему?
Первой идеей было: если запущено в linux, поместите его в определенную папку, например / opt, но это dll, если вы делаете это таким образом, любая программа, которая хочет его использовать, должна выполняться как root
Есть идеи?