Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Удаление стандартных компонентов Windows


Автор: Yanis 20.12.2005, 22:26
Здравствуйте все. Появилась такая проблема: нужно удалить установленные компоненты винды (в частности игры) на нескольких компах. Я хотел этот процес хоть немного автоматизировать, но кроме Batch файлов ничего не приходит в голову. Может есть более цивилизованный способ!? Может как-нибудь через WScript можно?

Автор: Akella 21.12.2005, 09:02
наверное, ничего не выйдет, только через панель управления

Автор: StayAtHome 22.12.2005, 12:33
Yanis
Думаю, копать надо в сторону софтин типа XPLite или nLite, но увы, сам ими не пользовался.

Автор: Yanis 22.12.2005, 15:51
2 dsergey, StayAtHome
Я тоже тепрь так думаю. Порылся немного в MSDN, но увы. К сожалению придётся пользоваться сторонним софтом для такой лёгкой задачи. Всем спасибо.

P.S. Но я не говорю, что в MSDN этого нет. Может я плохо смотрел...

Автор: StayAtHome 22.12.2005, 17:53
Что-то нашел:
Remove Software

Description
Uninstalls a hypothetical software program that was installed using Windows Installer.

Script Code
Код

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
    ("Select * from Win32_Product Where Name = 'Personnel database'")
For Each objSoftware in colSoftware
    objSoftware.Uninstall()
Next

Добавлено @ 17:55
И еще:
Uninstall an Update

Description
Uninstalls update ac94db3b-e1a8-4e92-9fd0-e86f355e6a44.

Supported Platforms
Windows Server 2003
No
Windows XP
Yes
Windows 2000
No
Windows NT 4.0
No
Windows 98
No

Script Code
Код

Set objCollection = CreateObject("Microsoft.Update.UpdateColl")

Set objSearcher = CreateObject("Microsoft.Update.Searcher")
Set objResults = objSearcher.Search _
    ("UpdateID='ac94db3b-e1a8-4e92-9fd0-e86f355e6a44'")

Set colUpdates = objResults.Updates
Wscript.echo colUpdates.count

objCollection.Add(colUpdates.Item(0))
Wscript.echo objCollection.count

Set objInstaller = CreateObject("Microsoft.Update.Installer")
objInstaller.Updates = objCollection

Set objInstallResults = objInstaller.Uninstall
Wscript.Echo objInstallResults.Exception
Wscript.Echo objInstallResults.RebootRequired
Wscript.Echo objInstallResults.ResultCode


For online peer support, join the microsoft.public.windows.server.scripting community on the msnews.microsoft.com news server. To provide feedback or report bugs in sample scripts or the Scripting Guide, please contact Microsoft TechNet.

Но вот как это использовать для виндовых "пасьянсов".... не знаю. Мож ты догадаешься? smile

Автор: Yanis 10.1.2006, 16:39
Akella, StayAtHome
Спасибо за помощь. Я нашел как это сделать хоть и не через WScript. Всем кому интересно, http://support.microsoft.com/default.aspx?scid=kb;en-us;222444.

Автор: Illuminaty 10.1.2006, 17:49
только там внизу небольшая приписка
Цитата
APPLIES TO
• Microsoft Windows 2000 Server
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Professional Edition
• Microsoft Windows 2000 Datacenter Server

Автор: Yanis 15.1.2006, 20:55
Цитата(Illuminaty @ 10.1.2006, 17:49 Найти цитируемый пост)

только там внизу небольшая приписка

Приписка то есть, но на Windows XP всё замечательно работает. К сожалению нет возможности проверить это в Windows 98 и в других версиях Windows.

Автор: Akella 19.1.2006, 09:24
да, круто, это тебе не линух smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)