Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизПресловутый переход на висту Найти похожие ветки
← →
KSergey © (2007-11-23 09:44) [0]Суть задачи: есть программа, представляющая из себя набор exe/dll + различные файлы конфигураций/данных, которые этой программой читаются/пишутся.
Исторически, понятно, программа пишет это все в тот же каталог где и сама рсположена. В реестр при этом не пишется программой ничего своего - все в файлах.
Таким положением вещей все довольны (пользователи в том числе), и вот почему: есть реальная потребность эту программу легко приносить с собой на флешке (например), переписать на компьютер, поработать - и снова с собой унести текущее состояние для использования на другом комьютере (например - ноутбук).
Таким образом, хотелось бы получить работоспособную конфигурацию программы в таком виде:
1) Не используем реестр для хранения настроек;
2) Должна быть возможность хранить все файлы программы в одном каталоге, при этом иметь к части из них доступ на запись. При этом программа должна мочь работать из любой папки где удобно пользователю (и куда у него есть права на запись).
Я знаю только одно готовое средство в Висте для этого: на ярлыке программы указать "совместимость" (или как оно тама зовется? Сорри, нету у меня под рукой). Ну либо вовсе отключить эту службу проверки.
Вопрос: есть ли другие возможности в Висте сделать так, чтобы указаные условия выполнялись?
PS
Что касается того, что "это не работат в корпоративной среде" - работает, но делается иначе: часть файлов программой грузится не из каталога программы, а из текущего на момент запуска :)
← →
oldman © (2007-11-23 10:26) [1]Извини за тупость, у меня Висты нет, но:
А что, под нее надо искать свое программное обеспечение или все ранее работающие проги запускать в режиме совместимости???
← →
Рамиль © (2007-11-23 10:45) [2]
> А что, под нее надо искать свое программное обеспечение
> или все ранее работающие проги запускать в режиме совместимости?
> ??
Не надо, почти все программы, написанные правильно под Windows XP, нормально идут под вистой (прикладные, исключая управление микшерами).
У автора написана неправильно, поэтому и проблемы:)
← →
KSergey © (2007-11-23 11:44) [3]> Рамиль © (23.11.07 10:45) [2]
> У автора написана неправильно, поэтому и проблемы:)
Именно так.
Но в этой "неправильности" - как раз кайф в данном случае. Потому так подробно и раписал.
Впрочем, быть может это все можно организрвать иначе, просто "мужики не зают"?
← →
TIF © (2007-11-23 14:50) [4]ДА, ПИСАТЬ ПОД ВИСТУ МЫ НЕ УМЕЕМ И ВИДИМО ТАКИМИ ТЕМПАМИ И НЕ НАУЧИМСЯ, ТАК КАК НЕ ХОТИМ!
Я, как специалист по совместимости приложений в висте :-), уже полазил по нужным сайтам, где есть всё - начиная от структуры ядра и закакнивая пресловутой UAC, которая многих не удовлетворяет.
Итак, что же советует сама Микрософт?
Vista - это удар под дых тем программистам, которые считают, что все юзеры так же как они, пренебрегают безопасностью и ВСЁ делают под учётной записью администратора. Если у вас учётная запись администратора, вам можно запросто спалить процессор меньше чем за 0,5 сек. Мой друг уже этому научился :-). Поэтому Виста решает эти проблемы.
Раньше большинство неправильно написанных прграмм работали всё равно правилно, так как многие работали под админом, но в всите большое внимание уделили проблеме безопасности: проги не должны лазить в WINDOWS, Program Files и в HKLM, так как это уже походит на поведение вирусов, поэтому нормальная программа должна всё хранить в доступном юзеру (и другим юзерам) месте, но не в системной директории. Раньше папка виндоуз по этой причине могла занимать на диске до 10ГБ! из-за того, что многие проги совали туду что попало: архивы, резервные копии, ини-файлы о прочую нечисть.
Итак, если у вас на компе работает старая прога, виста, ВИРТУАЛИЗИРУЕТ СИСТЕМНЫЕ РАЗДЕЛЫ, к которым будет обращаться программа, то есть если она полезет в папку виндоуз, то система подсунет ей папку C:\Users\имя_юзера\AppData\Local\VirtualStore\Windows\
Также и с реестром.
А если по-нормальному, по правилам нужно всё хранить в специальных разделах реестра или в локал апп дата
"Приложение может работать с разными учетными записями пользователей и поэтому должно хранить данные пользователей в соответствующих им каталогах %AppData%, а параметры, относящиеся к данному пользователю — в профиле пользователя в разделе реестра HKEY_CURRENT_USER\Software. Учетные записи обычного пользователя не имеют доступа для записи к каталогу %ProgramFiles% и разделу HKEY_LOCAL_MACHINE\Software. Однако, поскольку большинство систем Windows является однопользовательскими, а большинство пользователей вплоть до Windows Vista были администраторами, то приложения, даже если неправильно сохраняли пользовательские данные и параметры в этих местах, в любом случае работали."
ЧИТАЕМ СТАТЬЮ И БЛАГОДАРИМ МИКРОСОФТ ЗА ПРЕДОСТАВЛЕНИЕ ПОЛЕЗНОЙ ИНФОРМАЦИИ:
http://www.microsoft.com/technet/technetmag/issues/2007/06/UAC/default.aspx?loc=ru/
← →
Eraser © (2007-11-23 14:52) [5]
> KSergey © (23.11.07 09:44)
просто нужно добавить вистовский манифест в ресурсы экзешника, там указать, чтобы при запуске требовала права админа (которые нужны были и в xp, только там если пользователь - админ, то и права у него админские). все должно работать.
← →
TIF © (2007-11-23 14:58) [6]
> просто нужно добавить вистовский манифест в ресурсы экзешника,
> там указать, чтобы при запуске требовала права админа (которые
> нужны были и в xp, только там если пользователь - админ,
> то и права у него админские). все должно работать.
про манифест и его параметры в статье ТОЖЕ НАПИСАНО :-)
← →
ыы (2007-11-23 15:29) [7]
> Раньше папка виндоуз по этой причине могла занимать на диске
> до 10ГБ! из-за того, что многие проги совали туду что попало:
> архивы, резервные копии, ини-файлы о прочую нечисть
Теперь она это может по совершенно иным причинам? %-)
← →
Anatoly Podgoretsky © (2007-11-23 15:48) [8]> ыы (23.11.2007 15:29:07) [7]
С нечистыми к церкви, у них много вековой опыт борьбы с нечистыми.
← →
Dmitry S © (2007-11-23 16:36) [9]А что, подождать еще чуть-чуть и можно на висту переходить:)
← →
KSergey © (2007-11-26 10:13) [10]> Eraser © (23.11.07 14:52) [5]
> просто нужно добавить вистовский манифест в ресурсы экзешника,
> там указать, чтобы при запуске требовала права админа
Хм, метод в чем-то из серии "отключить UAC вовсе". Не совсем кузявый, конечно. Ну т.е. симтоматику в каком-то смысле он снимает, конечно (хотя бы - несколько автоматизирует ее штатными средствами), однако как таковых админских правов программе не требуется... Ну кроме как писать в свой каталог :)
К стати, а может есть смысл создать некоего пользователя с каким-нибудь не админсткими правами так, чтобы запущенная из-под него программа эта корректно работала? Есть такой вариант?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.046 c