Код инталяции Windows

m4za
Дата: 05.05.2006 14:58:45
Как программно получить код инталяции Windows?
Andres 1
Дата: 05.05.2006 16:37:44
ProductId, что-ли? В vbscript с использованием WMI так:
for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

   result = Obj.ProductId
   WScript.Echo "ProductId: " & result
   if err <> 0 then
      WScript.Echo Err.Description, "0x" & Hex(Err.Number)
      Err.Clear
   end if

Next
Andres 1
Дата: 05.05.2006 16:43:06
а для c# соответственно копать в сторону WMI Reference

Или вариант попроще, в реестре:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProductId"="00000-OEM-0000000-00000"
m4za
Дата: 05.05.2006 17:30:19
Дело в том, что этот код должен запускаться из под пользователя ASPNET, а у него нет доступа к WMI. Я знаю, что надо где-то в "Управление компьютером -> Управляющий элемент WMI -> Свойства -> Безопасность" можно поменять права для ASPNET. Но что именно там менять я не разобрался, ерунда какая-то.
Может Вы знаете?
А нет никакого друго способа получить этот код кроме WMI? реестр разуеется не подходит, потому что этот ключ может изменить любой.
m4za
Дата: 05.05.2006 17:30:46
Может быть что-нибудь на уровене API?
m4za
Дата: 05.05.2006 17:32:21
к тому же после смены прав в WMI для вступления в силу изменений требуется перезагрузка , а это очень нехорошо
m4za
Дата: 06.05.2006 09:02:45
ах да, так этот код активации (win32_WindowsProductActivation) , а нужен код инсталяции, оригинальный для каждой установленной версии