Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.004 c
15-1276294725
Германн
2010-06-12 02:18
2010.09.05
Последний штришок в программу.


15-1276250125
WHR
2010-06-11 13:55
2010.09.05
Возможно ли отправить почту, если протокол POP3 закрыт?


2-1276185461
Artemon
2010-06-10 19:57
2010.09.05
Вывод времени в QRDBText


2-1276082458
Delphist2
2010-06-09 15:20
2010.09.05
workbooks в excel


2-1276219742
Андрей_1
2010-06-11 05:29
2010.09.05
Видео поток + звук





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский