ПрограммированиеФорумОбщее

потестите прогу Launcher для движка + [начиная с 4-5 страницы - епопея с правами доступа] (6 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#75
0:20, 4 авг 2011

Bishop
надо же проверять все свои мысли =) п.с. спасибо за помощь конечно =)

#76
1:00, 4 авг 2011

тем кто хотел бы все же написать прогу для смены прав на Everyone - Full Control
вот код:

#include "stdafx.h"
#include <windows.h>

int main()
{

    SID_NAME_USE sidNameUse;
    SID_NAME_USE sidNameUse2;
    SID_NAME_USE sidNameUse3;
    wchar_t szAccName[256];
    wchar_t szDomName[256];
    wchar_t szAccName2[256];
    wchar_t szDomName2[256];
    wchar_t szAccName3[256];
    wchar_t szDomName3[256];
    DWORD dwNameSize = sizeof(szAccName)/sizeof(szAccName[0]);
    DWORD dwDomSize = sizeof(szDomName)/sizeof(szDomName[0]);
    PSID pSid;
    PSID pSid2;
    PSID pSid3;


  //Administrators!
  SID_IDENTIFIER_AUTHORITY siaWorld = SECURITY_NT_AUTHORITY;
  AllocateAndInitializeSid(&siaWorld, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pSid);
  LookupAccountSid(NULL, pSid, szAccName, &dwNameSize, szDomName, &dwDomSize, &sidNameUse);
  FreeSid(pSid);
  wprintf(L"cacls . /E /T /C /G %ls:F\n",szAccName);
  //Everyone!
  SID_IDENTIFIER_AUTHORITY siaWorld2 = SECURITY_WORLD_SID_AUTHORITY;
  AllocateAndInitializeSid(&siaWorld2, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &pSid2);
  LookupAccountSid(NULL, pSid2, szAccName2, &dwNameSize, szDomName2, &dwDomSize, &sidNameUse2);
  FreeSid(pSid2);
  wprintf(L"cacls . /E /T /C /G %ls:F\n",szAccName2);

  wchar_t Comod[2048];
  wsprintfW(Comod,L"cacls . /E /T /C /G %ws:F",LPCWSTR(szAccName));
  _wsystem(Comod);
  wsprintfW(Comod,L"cacls . /E /T /C /G %ws:F",LPCWSTR(szAccName2));
  _wsystem(Comod);
}

прога юзает CACLS, хотя выше указано что он устарел =\
по ходу вроде достаточно менять права для Everyone, но поскольку для админа было, то решил оставить, если кому не нравится - можете себе удалить сетапинг для админов.
оно все идет через wchar_t, походу проблем с юникодом быть не должно.

#77
1:02, 4 авг 2011

TirexiK
> Имя администратора не зависит ни от чего - оно просто может быть произвольным.
> Лучше не рассчитывать на какие-то строгие идентификаторы, когда работаешь с
> людьми.
тут то какраз системное название зависит от языка операционки, поэтому с етим надо гемотрится.

#78
1:19, 4 авг 2011

Аврелий
> прога юзает CACLS, хотя выше указано что он устарел =\
гы, ICACLS не доступен из WinXP, поэтому прогу надо дописать чтоб она и CACLS и ICACLS юзала, тогда покроет все винды, поскольку оно не ерорит и не вылетает то можно особых проверок не делать поддерживается ли оно или нет...

буду ставить виртуальную семерку чтобы потестить. в ICACLS синтаксис изменился.

#79
15:14, 4 авг 2011

думаю...
вот если делать прогу, которая расширяет права, или чтобы инсталятор расширял права, то расширение прав будет рабортать только от админа...
а есть ли вобще возможность заинсталить что-то не от админа?

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

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

#80
15:49, 4 авг 2011

Аврелий
Эпопею не читал, но поинтересуюсь, зачем тебе, Аврелий, порядочному разработчику игр требуется права папок изменять, как недобропорядошному вирусописателю, качай патч в папку %userprofile%/appdata/local/temp, оттуда пусть инсталятор запускается с запросом на админские права, так же многие проги делают.

#81
15:58, 4 авг 2011

TheGrayWolf
> оттуда пусть инсталятор запускается с запросом на админские права, так же
> многие проги делают.
патч не инсталятор, лаунчер на лету заменяет файлы. а мусорить не хочется ни у кого. Хотя такой вариант был рассмотреный как один из лучшых, даже если надо оставить чуток мусора, но эта тема задевает Unicode, дабы по адресу в аппдата схавать юзернейм на китайском к примеру.

мы чуток скооперировались с Егором (если кто не знает - Sunset).. у него тоже лаунчер есть свой, апдейтится через AppData.. мы с ним поговорили, он саегодня поставит себе китайский и будет тестиьт на предмет юникода...
результаты опубликуем =)

#82
16:21, 4 авг 2011

Аврелий
Непойму, при чём тут юникод? %userprofile%/appdata/local/temp - будет и на китайской винде, пользуйся переменными окружения. А насчёт мусора неактуально, можно и удалять после себя.

#83
16:27, 4 авг 2011

TheGrayWolf
> А насчёт мусора неактуально, можно и удалять после себя.
без наличия прав, в некоторых папках ничего удалить не удастся.

>%userprofile%/appdata/local/temp
выше об этом упоминалось функция GetEnv...
вроде оно всеравно переводит это в стринг как полный адрес...
ну или там поделись как ты это делал, и тестил ли ты на разноязыковых виндах?

#84
16:37, 4 авг 2011

Аврелий
Делал то на шарпе, за давностью минувшего не помню, может в .Net нет таких проблем с юникодом, незнаю, но нормально всё работало с русскими буквами, с китайскими не должно быть подругому. Качал я инсталятор  (самораспаковывающийся архив) в темп, а потом запускал и всё

#85
17:40, 4 авг 2011

Аврелий
> >%userprofile%/appdata/local/temp
не то
%APPDATA% - сразу кинет в юзера и аппДату, помнится что Application Data это в ХР, в висты/7 просто AppData вроде.

#86
18:34, 4 авг 2011

Аврелий
> гы, ICACLS не доступен из WinXP, поэтому прогу надо дописать чтоб она и CACLS и
> ICACLS юзала, тогда покроет все винды, поскольку оно не ерорит и не вылетает то
> можно особых проверок не делать поддерживается ли оно или нет...
>
> буду ставить виртуальную семерку чтобы потестить. в ICACLS синтаксис изменился.
Ну так используй только CACLS, он помечен как устаревший, но ведь есть. или ты хочешь поддержку Win8+ сделать?

#87
18:35, 4 авг 2011

TheGrayWolf
> Эпопею не читал, но поинтересуюсь, зачем тебе, Аврелий, порядочному
> разработчику игр требуется права папок изменять, как недобропорядошному
> вирусописателю, качай патч в папку %userprofile%/appdata/local/temp, оттуда
> пусть инсталятор запускается с запросом на админские права, так же многие проги
> делают.
Не читал, но осуждаю. Ты бы почитал зачем мы права меняем. Права сделаны чтобы кто не надо не делал что ненадо, а не для того чтобы ничего не работало полюдски. Если программе нужен доступ к своеё папке, она вполне имеет право его настроить.

#88
19:30, 4 авг 2011

Bishop
> Права сделаны чтобы кто не надо не делал что ненадо, а не для того чтобы
> ничего не работало полюдски. Если программе нужен доступ к своеё папке, она
> вполне имеет право его настроить.
Спасибо КЭП! Просто так не делается, а если и делать, то делать надо было в инсталяторе + есть шанс наткнутся на злобный антивирус. Побалуйтесь ещё с повышением привелегий процесса до кучи, чего  уж там.

#89
19:39, 4 авг 2011

TheGrayWolf
> Спасибо КЭП! Просто так не делается, а если и делать, то делать надо было в
> инсталяторе + есть шанс наткнутся на злобный антивирус.
Еще раз, не читал но осуждаю. Ты попробуй тему то прочитать, увидишь что для инсталера и делаеться. И потом, с каких это пор настройка параметров приложения стала вирусной активностью (Вот все здравые люди пишут на форумах: отключите антивирусы при установке, т.к. они видимо частенько лажают)

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.