Здравствуйте, Kedrr, Вы писали:
K>Всем привет.
K>Есть задача — надо программно установить msi файл на удаленную машину как это можно сделать кто какие предложит пути решения? Сам Microsoft предлагает использовать WMI Win32_Product class , но для того чтобы его использовать надо установить WMI Windows Installer Provider, а он по умолчанию не ставится на 2003 сервер. Есть еще WindowsInstaller Installer — COM объект который есть в системе и он реализован в msi.dll но этот объект можно создавать только локально, по крайней мере на удаленной машине я так и не смог его создать. Какие еще можно попробовать подходы?
K>Спасибо за советы и идеи.
Чисто RPCшный метод:
1. Маппишь шару программно, используя креды удаленного компа.
2. После этого все WinAPI вызовы на удаленный комп начинают пользовать эти креды.
3. Закидываешь на удаленную машину виндовый сервис (копируешь куда-нибудь, например в С). Чтобы работало везде, сервис не .NET.
4. Коннектишься к SCM на удаленной машине, регаешь сервис, запускаешь его.
5. Все, с этого момента на удаленной машине запущен твой код, делай что хочешь.
6. В конце через SCM анинсталлишь сервис, демонтируешь шару.
Если подходит, могу фрагменты кода прислать.