Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с %APPDATA% при установке из под ограниче 
:(
    Опции темы
Keeper89
Дата 7.6.2012, 02:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Доброго времени суток.

Использую %APPDATA% для хранения данных программы.
При установке (установщиком smile) создается базовый набор файлов для текущего пользователя, далее с ними работает приложение.

Проблема в следующем: если выполнить установку под пользователем с ограниченыыми правами (т.е. запустить инсталлятор под администраторои), все файлы попадут в %APPDATA% к администратору, что совсем не то, чего хотелось.

Как можно побороть данную проблему?

Это сообщение отредактировал(а) Keeper89 - 7.6.2012, 02:31


--------------------
PM MAIL WWW   Вверх
ZBugz
Дата 7.6.2012, 06:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Дык это проблема инсталятора, он думает что запуск от админа это админ.

PM MAIL   Вверх
MetalFan
Дата 7.6.2012, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(ZBugz @  7.6.2012,  06:40 Найти цитируемый пост)
Дык это проблема инсталятора
 Дык как ее решить? хотя конечно не плохо бы сообщить, что за инсталлятор)



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Keeper89
Дата 7.6.2012, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



MetalFan, installaware smile

Добавлено через 47 секунд
который в комплекте идет 


--------------------
PM MAIL WWW   Вверх
MetalFan
Дата 7.6.2012, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Keeper89, Как вариант, инсталлить необходимые файлы вместе с программой, а потом при запуске из под пользователя копировать их куда надо (в APPDATA)....

Это сообщение отредактировал(а) MetalFan - 7.6.2012, 09:43


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Keeper89
Дата 7.6.2012, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Из папки с программой я наоборот их перенес, чтобы проблем с доступом не было )
Как вариант мне нравится. А вообще, установщик себя нормально ведет или это косяк? 


--------------------
PM MAIL WWW   Вверх
Keeper89
Дата 7.6.2012, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



MetalFan, вопрос технический - лучше отдельно эти файлы иметь в папке с программой или можно в ресурсы запихнуть и извлечь по необходимости?


--------------------
PM MAIL WWW   Вверх
Akella
Дата 7.6.2012, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Можно run as + запускать с ключом, не помню с каким. Где-то мне уже отвечали. Но это не выход :(
Только у мну проблема была с InnoSetup

Добавлено @ 13:50
Только при чём тут delphi (Ц)?!

Добавлено @ 13:56
Keeper89, делай, как я делаю, и как установщик гуглохрома делает  smile 
устанавливай не в Program files, а в папку AllUsers или ProgramData(Win vista/seven)

Добавлено через 10 минут и 16 секунд
Может это поможет?
http://msdn.microsoft.com/ru-ru/magazine/cc163486.aspx
PM MAIL   Вверх
MetalFan
Дата 7.6.2012, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(Keeper89 @  7.6.2012,  10:37 Найти цитируемый пост)
вопрос технический

Да как удобно, так и делай...
Я бы положил рядом с программой, а при запуске смотрел, если в AppData у текущего пользователя их нет, то копировал бы их туда.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
CodeMonkey
Дата 7.6.2012, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



В папку All users надо положить мастер-копию данных. При запуске, если в твоём личном App data пусто - скопировать из All users.

Цитата
А вообще, установщик себя нормально ведет или это косяк?


As designed.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Keeper89
Дата 8.6.2012, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



CodeMonkey, это тогда придется сказать инсталлятору удалять все насозданные копии?

Это сообщение отредактировал(а) Keeper89 - 8.6.2012, 00:42


--------------------
PM MAIL WWW   Вверх
CodeMonkey
Дата 8.6.2012, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



А никак. Это невозможно. Учти, что профиль другого пользователя может быть отключен и недоступен (см. домен и перемещаемые профили).


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Keeper89
Дата 8.6.2012, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(CodeMonkey @  7.6.2012,  19:45 Найти цитируемый пост)
В папку All users надо положить мастер-копию данных. При запуске, если в твоём личном App data пусто - скопировать из All users.

%ALLUSERSPROFILE% или CSIDL_COMMON_APPDATA?
Вопрос снят smile

Добавлено @ 00:46
Цитата(CodeMonkey @  8.6.2012,  00:43 Найти цитируемый пост)
А никак. Это невозможно. Учти, что профиль другого пользователя может быть отключен и недоступен (см. домен и перемещаемые профили). 

Ясно, тяжко smile

Это сообщение отредактировал(а) Keeper89 - 8.6.2012, 00:47


--------------------
PM MAIL WWW   Вверх
northener
Дата 8.6.2012, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Возможно я чего-то не понял или чего-то не знаю. Но разве LocalAppData не спасут ОРД?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Keeper89
Дата 8.6.2012, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Цитата(northener @  8.6.2012,  01:33 Найти цитируемый пост)
Возможно я чего-то не понял или чего-то не знаю. Но разве LocalAppData не спасут ОРД? 

Ну если настройки общие для всех - вполне спасут.


--------------------
PM MAIL WWW   Вверх
ZBugz
Дата 8.6.2012, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(MetalFan @ 7.6.2012,  07:38)
Цитата(ZBugz @  7.6.2012,  06:40 Найти цитируемый пост)
Дык это проблема инсталятора
 Дык как ее решить? хотя конечно не плохо бы сообщить, что за инсталлятор)

Ну вот правильно сказали installaware или попроще InnoSetup http://www.jrsoftware.org/isinfo.php
Последний позволяет писать код на delphi в инсталяторе, где ты, если штатно не получиться, можешь что то покалякать

Добавлено через 2 минуты и 14 секунд
Цитата(CodeMonkey @ 7.6.2012,  19:45)
В папку All users надо положить мастер-копию данных. При запуске, если в твоём личном App data пусто - скопировать из All users.

Цитата
А вообще, установщик себя нормально ведет или это косяк?


As designed.

Самое умное и простое решение smile  Я тоже юзаю All Users для хранения постоянного  или временного. А в 7-ке и viste можно юзать и ProgramData
PM MAIL   Вверх
Akella
Дата 10.6.2012, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(ZBugz @  8.6.2012,  06:25 Найти цитируемый пост)
Последний позволяет писать код на delphi в инсталяторе, где ты, если штатно не получиться, можешь что то покалякать


да? а как ты узнаешь под чьим реально именем запущена программа?
PM MAIL   Вверх
ZBugz
Дата 11.6.2012, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 10.6.2012,  14:25)
Цитата(ZBugz @  8.6.2012,  06:25 Найти цитируемый пост)
Последний позволяет писать код на delphi в инсталяторе, где ты, если штатно не получиться, можешь что то покалякать


да? а как ты узнаешь под чьим реально именем запущена программа?

Я предлагаю это не узнавать, а писать все в выше написанно в All users или programmdata
PM MAIL   Вверх
Akella
Дата 18.6.2012, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(ZBugz @  11.6.2012,  07:22 Найти цитируемый пост)
All users или programmdata 


Для этих директорий нужны нужны привилегии администратора :(
PM MAIL   Вверх
ZBugz
Дата 19.6.2012, 07:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 18.6.2012,  08:50)
Цитата(ZBugz @  11.6.2012,  07:22 Найти цитируемый пост)
All users или programmdata 


Для этих директорий нужны нужны привилегии администратора :(

Тока что тестил, не надо прав. All users для этого и сущстувует же...
По крайне мере мой автоапдейт через него и рабоатет без привелегий.
Или по текущим пользователем C:\Users\Юзер\AppData\Local все прекрасно пишется
Ну если уж там закрыто понеболуй, то тут уж ничего не сделаешь.
PM MAIL   Вверх
Akella
Дата 19.6.2012, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Плохо ты тестил.
PM MAIL   Вверх
ZBugz
Дата 20.6.2012, 06:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 19.6.2012,  11:21)
Плохо ты тестил.

Ну почему плохо то ? Работает же. Я не думаю что на виртуалке Windows рабоатет по другому smile 
Для этого же микрософт и сделал %USERPROFILE%
PM MAIL   Вверх
Akella
Дата 20.6.2012, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Например, Windows 7 запрашивает повышение привилегий в любом случае. А если пользователь не админ, то будет запрос пароля админа. В Windows XP, если пользователь не админ, то просто будет сообщение об ошибке с правами.
PM MAIL   Вверх
ZBugz
Дата 21.6.2012, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 20.6.2012,  09:07)
Например, Windows 7 запрашивает повышение привилегий в любом случае. А если пользователь не админ, то будет запрос пароля админа. В Windows XP, если пользователь не админ, то просто будет сообщение об ошибке с правами.

Обясни, почему требует повышение привелегий то ? Я что то упускаю.
Я знаю, что в том же InnoSetup или NSIS можно в самом инсталяторе указать что требуеться повышение привелегий, если этого не надо, то по обычным пользователем (конечно не с пароноидальной закрытостью) ничего не требует.
Если в самой программе пишешь , то под обычным юзером тоже все работет. У меня так автоапдейт работает, иначе просто косяки. Но я еще подключаю UAC_(User Account Control) скачанного тут http://www.delphisources.ru/
PM MAIL   Вверх
MetalFan
Дата 21.6.2012, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Цитата(ZBugz @  21.6.2012,  06:35 Найти цитируемый пост)
Но я еще подключаю UAC

а можно ссылку по-точнее? )


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Akella
Дата 21.6.2012, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



ZBugz, потому что я уже пробовал писать что-то в c:\programdata\ (c:\D&S\AllUsers\) под обычным пользователем. Фиг там. Не пускает!
PM MAIL   Вверх
ZBugz
Дата 22.6.2012, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 21.6.2012,  10:18)
ZBugz, потому что я уже пробовал писать что-то в c:\programdata\ (c:\D&S\AllUsers\) под обычным пользователем. Фиг там. Не пускает!

Что как то или не так писал или что то нето...
Давай так, я сеня\затра напишу пример, и мы его потестим. Хорошо ?

Добавлено через 2 минуты и 8 секунд
Цитата(MetalFan @ 21.6.2012,  10:13)
Цитата(ZBugz @  21.6.2012,  06:35 Найти цитируемый пост)
Но я еще подключаю UAC

а можно ссылку по-точнее? )

http://www.delphisources.ru/pages/sources/...nt-control.html
PM MAIL   Вверх
ZBugz
Дата 24.6.2012, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Держи.

Тестил на Windows 2008 r2, тоже пашет.

З.Ы. Там ресурсы для Windows 7 и мой модуль func нужен.

Это сообщение отредактировал(а) ZBugz - 24.6.2012, 08:50

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Test.rar 99,54 Kb
PM MAIL   Вверх
Akella
Дата 24.6.2012, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Что и требовалось доказать


user posted image
PM MAIL   Вверх
Akella
Дата 24.6.2012, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(ZBugz @  24.6.2012,  08:49 Найти цитируемый пост)
Тестил на Windows 2008 r2,


Ну на серверах права немонго по-другому.
Например, если работаешь под админом, то UAC не "срабатывает", нет никаких даже запросов.
Читай внимательно мои сообщения здесь.
PM MAIL   Вверх
ZBugz
Дата 24.6.2012, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 24.6.2012,  15:12)
Что и требовалось доказать


user posted image

Слушай, ну я незнаю, у меня так вот при пользователе. Это уже даже не виртуалка, а моя система

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  1.png 431,13 Kb
PM MAIL   Вверх
Akella
Дата 25.6.2012, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



покажи настройки uac и попробуй с обычным пользователем на xp
PM MAIL   Вверх
ZBugz
Дата 26.6.2012, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(Akella @ 25.6.2012,  22:24)
покажи настройки uac и попробуй с обычным пользователем на xp

UAC обычный,  пользователя завел нового, поэтому там все по дефаулту.
В XP работает без проблем, но в XP я обрабатываю аличие ProgrammData, т.е. все что ниже Vista пишу в AppData

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  1.png 50,40 Kb
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0811 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.