Форум: "Прочее";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];
ВнизКто знает Висту и семерку - нужна консультация Найти похожие ветки
← →
Юрий Зотов © (2010-06-09 01:07) [0]Нужны ли под Вистой и семеркой какие-то особые права для создания подкаталога в
C:\Documents and Settings\All Users\Application Data
а также для последующего создания файла в этом подкаталоге и работы с этим файлом (чтение/запись)?
Или хватит прав любого юзера?
← →
Германн © (2010-06-09 01:54) [1]
> Юрий Зотов © (09.06.10 01:07)
<offtop>
В ТЗ прописано - "ПО должно поддерживать все современные операционные сиcтемы (Windows XP, Vista, 7)."
Говорю автору ТЗ: Копируй программу в "документы пользователя и не будешь иметь проблем. Отвечает - Так я и так уже давно так делаю.
:)
</offtop>
Ты бы спросил своего заказчика, который вроде "не дурак", что он хочет.
← →
Германн © (2010-06-09 02:25) [2]
> Юрий Зотов © (09.06.10 01:07)
Юр, Ну разве Виста и последующие версии для того придуманы, чтобы "любой юзер" смог устанавливать правила для всех прочих юзеров?
← →
Германн © (2010-06-09 03:16) [3]Ну и вдобавок. "Мы с тобой - два берега у одной реки".
:)
← →
Дмитрий С © (2010-06-09 05:48) [4]
> Юрий Зотов © (09.06.10 01:07)
В 7 нет пути C:\Documents and Settings\All Users\Application Data .
Есть
ALLUSERSPROFILE=C:\ProgramData
В ней ссылка C:\ProgramData\Application Data на C:\ProgramData\
Права по умолчанию на C:\ProgramData\ для группы Пользователи все, кроме "Удаление" "Удаление подпапок и файлов" "Смена разрешений" "Смена владельца"
← →
sniknik © (2010-06-09 07:59) [5]> чтобы "любой юзер" смог устанавливать правила для всех прочих юзеров?
это не папка "прочих юзеров", это папка "общая всех юзеров".
> В 7 нет пути C:\Documents and Settings\All Users\Application Data .
> Есть
> ALLUSERSPROFILE=C:\ProgramData
это неважно - SHGetSpecialFolderPath
← →
tesseract © (2010-06-09 10:18) [6]
> SHGetSpecialFolderPath
Со времён 2000 и IE4 входит в рекомендованные требования. Со времен XP - в обязательные.
← →
SD Software (2010-06-09 11:55) [7]
> Юрий Зотов © (09.06.10 01:07)
Под семеркой без проблем любым пользователем пишитьсяSHGetSpecialFolderLocation(CSIDL_APPDATA) - C:\Users\Admin\AppData
← →
SD Software (2010-06-09 12:12) [8]
> SD Software (09.06.10 11:55) [7]
Наврал, короче что под админом, что под ограниченным пишу в C:\Users\Admin\AppData\Roaming, залогинился под Админом "Admin"
← →
Юрий Зотов © (2010-06-09 21:59) [9]Путь получаю так:
const
SHGFP_TYPE_CURRENT = 0; // В D7 этой константы нет, взята из SDK
var
S: array [1..MAX_PATH] of char;
...
SHGetFolderPath(0, CSIDL_COMMON_APPDATA or CSIDL_FLAG_CREATE,
Cardinal(-1), SHGFP_TYPE_CURRENT, @S[1]);
В XP работает под всеми юзерами. Насчет Vista и W7: проверить негде, а сомнения есть потому и спросил.
Судя по ответам, должно работать. Или я неправ?
← →
Германн © (2010-06-10 01:54) [10]
> Юрий Зотов © (09.06.10 21:59) [9]
Если никто твёрдо не ответит "Да" или "Нет" до завтрашнего обеда, берусь проверить сей код на Висте. У дщери на компе она стоит. Только.
1. Нужен простой тестовый пример, который я мог бы не утруждая себя компилированием проверить.
2. Юзера с какими минимальными правами нужно добавить для такой проверки?
← →
Юрий Зотов © (2010-06-10 02:35) [11]> Германн © (10.06.10 01:54) [10]
Спасибо. Пример можно скопировать прямо отсюда, или взять готовый Exe (зазипован, около 200 Кб): http://webfiles.ru/18100735
После запуска программы в каталоге всех юзеров (под XP это
C:\Documents and Settings\All Users\Application Data)
должен появиться подкаталог MyDir, а в нем - файл MyFile.txt. Юзер самый обычный, который создается по дефолту. Главное - чтобы не админ.
uses
ShFolder;
function CreateMyDir: string;
const
SHGFP_TYPE_CURRENT = 0;
var
S: array [1..MAX_PATH] of char;
begin
if Succeeded(SHGetFolderPath(0, CSIDL_COMMON_APPDATA or CSIDL_FLAG_CREATE,
Cardinal(-1), SHGFP_TYPE_CURRENT, @S[1])) then
begin
Result := S;
SetLength(Result, Pos(#0, Result) - 1);
Result := IncludeTrailingPathDelimiter(Result) + "MyDir";
ForceDirectories(Result)
end
else
raise Exception.Create("Fig vam")
end;
procedure TForm1.FormCreate(Sender: TObject);
var
F: TextFile;
begin
Caption := CreateMyDir;
AssignFile(F, IncludeTrailingPathDelimiter(Caption) + "MyFile.txt");
Rewrite(F);
try
Write(F, "All right!")
finally
CloseFile(F);
end
end;
← →
Германн © (2010-06-10 02:51) [12]
> Юрий Зотов © (10.06.10 02:35) [11]
Скачал.
Завтра после обеда проверю.
> Спасибо
Пока не за что.
← →
SD Software (2010-06-10 08:53) [13]
> Юрий Зотов © (10.06.10 02:35) [11]
В Windows 7 у меня пишиться только под админом, под обычным не пишит и raise Exception не срабатывает
← →
Romkin © (2010-06-10 09:03) [14]Кто же пустит обычного пользователя в общие папки? Разумеется, Виста и выше пускает туда только админа. Точнее - опытного пользователя.
← →
Romkin © (2010-06-10 09:11) [15]А нет, соврал. В семерке только администратора, не меньше.
← →
Anatoly Podgoretsky © (2010-06-10 09:55) [16]> Юрий Зотов (09.06.2010 21:59:09) [9]
C:\ProgramData запись для пользователей запрещена, только чтение, это
означение, что требуется повышение прав.
Юрий вот здесь есть есть документация по подготовке программ к W7/Vista
http://www.podgoretsky.com/ftp/Docs/Microsoft/V7DEV.pdf
http://www.podgoretsky.com/ftp/Docs/Microsoft/V7IT.pdf
http://www.podgoretsky.com/ftp/Docs/Microsoft/Windows%20Vista/
← →
Дмитрий Белькевич (2010-06-10 17:35) [17]
> C:\ProgramData запись для пользователей запрещена, только
> чтение, это означение, что требуется повышение прав.
Так в какую папку всё таки можно записывать данные, которые должны быть доступны для всех пользователей на компьютере?
← →
Дмитрий Белькевич (2010-06-10 17:36) [18]Мы сейчас в C:\ProgramData пишем - приходится права инсталлером поднимать.
← →
Дмитрий Белькевич (2010-06-10 17:41) [19]В CSIDL_COMMON_APPDATA.
← →
Anatoly Podgoretsky © (2010-06-10 19:24) [20]> Дмитрий Белькевич (10.06.2010 17:35:17) [17]
В ProgramData, но делать это может только админ.
← →
Плохиш © (2010-06-11 10:53) [21]
> Юрий Зотов © (10.06.10 02:35) [11]
Vista Home Premium + стандартный пользователь - создалось и записалось, даже не пикнуло.
← →
Anatoly Podgoretsky © (2010-06-11 11:16) [22]> Плохиш (11.06.2010 10:53:21) [21]
Обычно на Home все администраторы.
Кроме того "стандартный пользователь" такого нет
← →
Кто б сомневался © (2010-06-11 12:25) [23]Качни пиратку (ведь все равно юзать не будешь, только для теста) и поставь на виртуальную машину VmWare. Ведь тестировать все равно надо.
← →
Кто б сомневался © (2010-06-11 12:26) [24]Можно и не пиратку, а триал.
← →
Andy BitOff © (2010-06-11 12:31) [25]
> Кто б сомневался © (11.06.10 12:25) [23]
А можно сразу вирт.машину нужную качнуть.
← →
Плохиш © (2010-06-11 12:35) [26]
> Anatoly Podgoretsky © (11.06.10 11:16) [22]
>
> > Плохиш (11.06.2010 10:53:21) [21]
>
> Обычно на Home все администраторы.
Ну я ж не обычно ;-)
> Кроме того "стандартный пользователь" такого нет
Ну не знаю, у меня в настройках выбор только между "Standardbenutzer" и "Administrator".
← →
Плохиш © (2010-06-11 12:37) [27]
> Andy BitOff © (11.06.10 12:31) [25]
>
>
> > Кто б сомневался © (11.06.10 12:25) [23]
>
> А можно сразу вирт.машину нужную качнуть.
Блин, искал с год назад виртуальные машины для VirtualBox, одни только люниксы-смуликсы и никаких вындовсов :-(
← →
Andy BitOff © (2010-06-11 12:56) [28]
> Плохиш © (11.06.10 12:37) [27]
http://www.vmware.com/appliances/directory/cat/508?k=windows
← →
Andy BitOff © (2010-06-11 13:01) [29]Хотя, да, виндов там не много.
Ну вот тут еще можно некоторые скачать, в основном серверные, но есть и семерка - http://blogs.technet.com/b/kabans/archive/2010/02/25/microsoft.aspx
← →
Anatoly Podgoretsky © (2010-06-11 13:48) [30]> Плохиш (11.06.2010 12:35:26) [26]
Опять агрессия со стороны немцев.
Хорошо а что такое "стандартный пользователь" в терминологии на русском
языке.
← →
antonn © (2010-06-11 13:51) [31]
> Хорошо а что такое "стандартный пользователь" в терминологии
> на русском
> языке.
>
это название опции. Есть же разделение "пользователь", "опытный пользователь" - видимо это что-то из этого.
← →
Anatoly Podgoretsky © (2010-06-11 13:54) [32]> antonn (11.06.2010 13:51:31) [31]
Так это ясно, только чему это равно. Потому что опытный пользователь имеет
право записи, а обычный нет.
← →
Плохиш © (2010-06-11 14:37) [33]
> Andy BitOff © (11.06.10 12:56) [28]
> Andy BitOff © (11.06.10 13:01) [29]
Спасибо.
Образа от vmware подключить к virtualbox раньше получалось, но система не грузилась.
← →
Плохиш © (2010-06-11 14:39) [34]
> Anatoly Podgoretsky © (11.06.10 13:48) [30]
В описании стоит, что он может использовать большую часть программ и изменять системные настройки, если они не влияют на других пользователей и защиту системы.
Надеюсь, что это не "опытный пользователь" :-)
← →
Плохиш © (2010-06-11 14:48) [35]
> antonn © (11.06.10 13:51) [31]
> это название опции. Есть же разделение "пользователь", "опытный
> пользователь" - видимо это что-то из этого.
В XP у нас тоже их так же делили. А в висте и 7 опытного с администратором объединили, всё-равно же все права сразу не дают :-)
← →
Anatoly Podgoretsky © (2010-06-11 14:50) [36]> Плохиш (11.06.2010 14:39:34) [34]
И не надейся, это именно он и есть
← →
Плохиш © (2010-06-11 16:02) [37]
> Anatoly Podgoretsky © (11.06.10 14:50) [36]
Ну 7Ultimate создаёт пользователя в группе обычных, не опытных.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.09.05;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.006 c