Показать сообщение отдельно
Старый 16.11.2011, 08:02   #2  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Нужно установить компоненты, их там достаточно много.
OLAP компоненту для просмотра и прочее прочее,
у меня для этих случаев есть вот такой код.
X++:
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'msiexec.exe /passive /i \\\\dc1\\msi\\OLAP\\OWC11.msi','\\\\dc1\\msi');
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'msiexec.exe /passive /i \\\\dc1\\msi\\msxml6.msi','\\\\dc1\\msi');
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'\\\\dc1\\msi\\WindowsInstaller-KB893803-v2-x86.exe /passive /norestart','\\\\dc1\\msi');
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'msiexec.exe /passive /i \\\\dc1\\msi\\sqlncli.msi','\\\\dc1\\msi');
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'msiexec.exe /passive /i \\\\dc1\\msi\\SQLServer2005_ASOLEDB9.msi','\\\\dc1\\msi');
WinAPI::CreateProcessWithLogon("логин","домен","пароль",'msiexec.exe /passive /i \\\\dc1\\msi\\SQLServer2005_ADOMD.msi','\\\\dc1\\msi');

вот код процедуры в классе WinAPI
X++:
#define.LOGON_WITH_PROFILE(0x1)
#define.CREATE_DEFAULT_ERROR_MODE(0x4000000)
public static int CreateProcessWithLogon(str _login,str _domain,str _password,str _wcommandLine,str _wcurrentDir)
{
DLL _dll = new DLL('advapi32.dll');
DLLFunction dllFunction = new DLLFunction(_dll,'CreateProcessWithLogonW');
Binary startupInfo = new Binary(68);
Binary processInfo = new Binary(4*4);
int result;
;
dllFunction.arg(ExtTypes::WString,
ExtTypes::WString,
ExtTypes::WString,
ExtTypes::DWord,
ExtTypes::Pointer,
ExtTypes::WString,
ExtTypes::DWord,
ExtTypes::DWord,
ExtTypes::WString,
ExtTypes::Pointer,
ExtTypes::Pointer);
dllFunction.returns(ExtTypes::DWord);
startupInfo.dWord(0,68);
result = dllFunction.call(_login,_domain,_password,#LOGON_WITH_PROFILE,0,_wcommandLine,#CREATE_DEFAULT_ERROR_MODE,0,_wcurrentDir,startupInfo,processInfo);
WinAPI::waitForSingleObject(processInfo.dWord(0),-1);
WinAPI::closeHandle(processInfo.dWord(0));
return result;
}
очень удобное дело, когда пользователь не имеет прав на установку
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!

Последний раз редактировалось Murlin; 16.11.2011 в 08:09.
За это сообщение автора поблагодарили: someOne (2), CHESER85 (1).