Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.05;
Скачать: CL | DM;

Вниз

Кто знает Висту и семерку - нужна консультация   Найти похожие ветки 

 
Юрий Зотов ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.011 c
15-1276185441
da4
2010-06-10 19:57
2010.09.05
Кто сильнее, Тигр Лев или Медведь?


2-1276145325
tippa
2010-06-10 08:48
2010.09.05
появляется лишний поток


15-1276369798
AKE
2010-06-12 23:09
2010.09.05
У кого-нибудь есть код создания...


2-1275994871
DROWSY
2010-06-08 15:01
2010.09.05
Динамически-создаваемые поля.


2-1275975584
программер
2010-06-08 09:39
2010.09.05
500 пикселей размесить в формате 4:3