Клуб Punto Switcher

Сисадмин: (версия PS - 3.2.6 от 21.10.2011) Обращение к разработчикам

15 декабря 2011, 11:30

Приветствую!

Прежде всего отмечу, что являюсь давнишним (с момента появления PuntoSwitcher, далее - PS) и благодарным пользователем. Программу отношу к разряду "must have"! Спасибо!

Но, будучи сисадмином, столкнулся с небольшой проблемой при использовании PS. А именно:

При запуске PS в частности проверяет опцию "Запускать при старте Windows".

Если да, то создает ярлык запуска в папке Автозагрузка (Starup) заново! Независимо от наличия такового!

При использовании перемещаемого профиля пользователя, это приводит к тому, что PS, возможно, просто не будет запушен про логоне на другой машине! Ведь далеко не факт, что на всех машинах папка установки (по умолчанию -  %ProgramFiles%\Yandex\Punto Switcher) имеет название "C:\Program Files\Yandex\Punto Switcher". У меня в сети, к примеру, папка %ProgramFiles% может быть и C:\XPPrograms, и C:\Programs и еще как-то.

Конечно я решаю эту проблему лишением пользователя соответствующих прав на ярлык. Но это же еще не все! Аналогичная проблема с файлом "Punto Switcher\User Data\preferences.xml" в котором прописаны абсолютные пути в строке Sounds.

Предлагаю возможный (имхо, необходимый) вариант доработки:

1. При установке приложения завести в реестре (HKCU) строку типа REG_EXPAND_SZ в которой хранить путь установки. По умолчанию это будет строка

"%ProgramFiles%\Yandex\Punto Switcher".

Именно в таком виде! Переменную среды %ProgramFiles% не "разворачивать"!!!;

2. В ярлыках запуска использовать это же значение -

"%ProgramFiles%\Yandex\Punto Switcher\punto.exe",

так же не "разворачивая" %ProgramFiles%!!!;

3. В файле preferences.xml использвать относительные пути.

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

 

С уважением, v.nsky

4 комментария

А на 64 битных программа устанавливается в %ProgramFiles(x86)%. Тут не будет пробем?

На 64-х битных системах не работаю, но подозреваю что это папка может называться как-то иначе (например C:\Program Files(x64)). А переменная среды ProgramFiles никуда не денется. Ссылка %ProgramFiles%\... должна работать одинаково в любой Windows. Для проверки наберите в консоли ("Пуск" -> "Выполнить" -> cmd) команду set. Эта команда выведет значения всех переменных среды. В том числе и переменной ProgramFiles. Или есть переменная ProgramFiles(x86)???
Это не принципиально важно. Система сама будет разворачивать путь до того места куда ей нужно…

Подтверждаю.Рулить PS на сервере терминалов очень затруднительно по той же причине.