Explanation of Issue:
When Microsoft AntiSpyware? Beta 1 (version 1.0.701) is installed, it creates a number of registry keys under HKEY_CLASSES_ROOT. The permissions on these keys allow ONLY the user who installed the program to access them, rendering the program inaccessible to other users, regardless of access level (even Administrators). When a different user logs on, they will recieve an "Unexpected Error; quitting" messagebox during login.
Additionally, if the program is uninstalled by a DIFFERENT user than the one who initially installed the program - OR - if the program is re-installed by a different user than the initial installer, the user will recieve an "Error 1904.Module C:\Program Files\Microsoft Antispyware\XXXXXXXX.dll failed to (un)register. HRESULT -2147220473" during the install.
Workaround:
Windows XP (Home/Pro) Users:
1. Log on as a user who has full Microsoft AntiSpyware? functionality (preferably with Administrator access).
2. Copy the codeblock below into a file named "MSASfix.txt"
\registry\machine\software\classes\gcAntiSpywareLibrary.ActiveXObject 7 \registry\machine\software\classes\gcAntiSpywareLibrary.ActiveXObject\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.ActiveXObjects 7 \registry\machine\software\classes\gcAntiSpywareLibrary.ActiveXObjects\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.CLSID 7 \registry\machine\software\classes\gcAntiSpywareLibrary.CLSID\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.FileObject 7 \registry\machine\software\classes\gcAntiSpywareLibrary.FileObject\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.FileQuery 7 \registry\machine\software\classes\gcAntiSpywareLibrary.FileQuery\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.LSPObject 7 \registry\machine\software\classes\gcAntiSpywareLibrary.LSPObject\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.LSPObjects 7 \registry\machine\software\classes\gcAntiSpywareLibrary.LSPObjects\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.Manager 7 \registry\machine\software\classes\gcAntiSpywareLibrary.Manager\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.System 7 \registry\machine\software\classes\gcAntiSpywareLibrary.System\Clsid 7 \registry\machine\software\classes\gcAntiSpywareLibrary.SystemFeedback 7 \registry\machine\software\classes\gcAntiSpywareLibrary.SystemFeedback\Clsid 7 \registry\machine\software\classes\gcasDtServ.Agent 7 \registry\machine\software\classes\gcasDtServ.Agent\Clsid 7 \registry\machine\software\classes\gcasDtServ.AgentDataStore 7 \registry\machine\software\classes\gcasDtServ.AgentDataStore\Clsid 7 \registry\machine\software\classes\gcasDtServ.Agents 7 \registry\machine\software\classes\gcasDtServ.Agents\Clsid 7 \registry\machine\software\classes\gcasDtServ.Common 7 \registry\machine\software\classes\gcasDtServ.Common\Clsid 7 \registry\machine\software\classes\gcasDtServ.DataStore 7 \registry\machine\software\classes\gcasDtServ.DataStore\Clsid 7 \registry\machine\software\classes\gcasDtServ.EventObject 7 \registry\machine\software\classes\gcasDtServ.EventObject\Clsid 7 \registry\machine\software\classes\gcasDtServ.Events 7 \registry\machine\software\classes\gcasDtServ.Events\Clsid 7 \registry\machine\software\classes\gcasDtServ.Explorer 7 \registry\machine\software\classes\gcasDtServ.Explorer\Clsid 7 \registry\machine\software\classes\gcasDtServ.Explorers 7 \registry\machine\software\classes\gcasDtServ.Explorers\Clsid 7 \registry\machine\software\classes\gcasDtServ.FriendlyFiles 7 \registry\machine\software\classes\gcasDtServ.FriendlyFiles\Clsid 7 \registry\machine\software\classes\gcasDtServ.Inoculation 7 \registry\machine\software\classes\gcasDtServ.Inoculation\Clsid 7 \registry\machine\software\classes\gcasDtServ.Inoculations 7 \registry\machine\software\classes\gcasDtServ.Inoculations\Clsid 7 \registry\machine\software\classes\gcasDtServ.Manager 7 \registry\machine\software\classes\gcasDtServ.Manager\Clsid 7 \registry\machine\software\classes\gcasDtServ.Quarantine 7 \registry\machine\software\classes\gcasDtServ.Quarantine\Clsid 7 \registry\machine\software\classes\gcasDtServ.QuarantineContainer 7 \registry\machine\software\classes\gcasDtServ.QuarantineContainer\Clsid 7 \registry\machine\software\classes\gcasDtServ.QuarantineItem 7 \registry\machine\software\classes\gcasDtServ.QuarantineItem\Clsid 7 \registry\machine\software\classes\gcasDtServ.ResourceStore 7 \registry\machine\software\classes\gcasDtServ.ResourceStore\Clsid 7 \registry\machine\software\classes\gcasDtServ.Schedule 7 \registry\machine\software\classes\gcasDtServ.Schedule\Clsid 7 \registry\machine\software\classes\gcasDtServ.ScheduleScans 7 \registry\machine\software\classes\gcasDtServ.ScheduleScans\Clsid 7 \registry\machine\software\classes\gcasDtServ.Session 7 \registry\machine\software\classes\gcasDtServ.Session\Clsid 7 \registry\machine\software\classes\gcasDtServ.ThreatData 7 \registry\machine\software\classes\gcasDtServ.ThreatData\Clsid 7 \registry\machine\software\classes\gcasDtServ.UpdateSchedule 7 \registry\machine\software\classes\gcasDtServ.UpdateSchedule\Clsid 7 \registry\machine\software\classes\gcASPrivacyLib.Cleaner 7 \registry\machine\software\classes\gcASPrivacyLib.Cleaner\Clsid 7 \registry\machine\software\classes\gcASPrivacyLib.FileShredder 7 \registry\machine\software\classes\gcASPrivacyLib.FileShredder\Clsid 7 \registry\machine\software\classes\gcASPrivacyLib.TracksEraser 7 \registry\machine\software\classes\gcASPrivacyLib.TracksEraser\Clsid 7 \registry\machine\software\classes\gcASSoapLib.Registration 7 \registry\machine\software\classes\gcASSoapLib.Registration\Clsid 7 \registry\machine\software\classes\gcASSoapLib.Reports 7 \registry\machine\software\classes\gcASSoapLib.Reports\Clsid 7 \registry\machine\software\classes\gcASSoapLib.SoapClient 7 \registry\machine\software\classes\gcASSoapLib.SoapClient\Clsid 7 \registry\machine\software\classes\gcASSoapLib.Updates 7 \registry\machine\software\classes\gcASSoapLib.Updates\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Cleaner 7 \registry\machine\software\classes\gcASThreatAudit.Cleaner\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.CleanerCallback 7 \registry\machine\software\classes\gcASThreatAudit.CleanerCallback\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.clsFolderPaths 7 \registry\machine\software\classes\gcASThreatAudit.clsFolderPaths\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.DetectedThreat 7 \registry\machine\software\classes\gcASThreatAudit.DetectedThreat\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.IgnoredThreats 7 \registry\machine\software\classes\gcASThreatAudit.IgnoredThreats\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Info 7 \registry\machine\software\classes\gcASThreatAudit.Info\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Manager 7 \registry\machine\software\classes\gcASThreatAudit.Manager\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationCookie 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationCookie\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationFile 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationFile\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationFolder 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationFolder\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationRegKey 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationRegKey\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationSpecial 7 \registry\machine\software\classes\gcASThreatAudit.QThreatLocationSpecial\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Quarantine 7 \registry\machine\software\classes\gcASThreatAudit.Quarantine\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.QuarantineThreat 7 \registry\machine\software\classes\gcASThreatAudit.QuarantineThreat\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Scan 7 \registry\machine\software\classes\gcASThreatAudit.Scan\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ScanHistory 7 \registry\machine\software\classes\gcASThreatAudit.ScanHistory\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ScanHistoryDetail 7 \registry\machine\software\classes\gcASThreatAudit.ScanHistoryDetail\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Scanner 7 \registry\machine\software\classes\gcASThreatAudit.Scanner\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ScannerCallback 7 \registry\machine\software\classes\gcASThreatAudit.ScannerCallback\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ScannerSingle 7 \registry\machine\software\classes\gcASThreatAudit.ScannerSingle\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Settings 7 \registry\machine\software\classes\gcASThreatAudit.Settings\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Threat 7 \registry\machine\software\classes\gcASThreatAudit.Threat\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLite 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLite\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationCookie 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationCookie\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationCustom 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationCustom\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationFile 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationFile\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationFolder 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationFolder\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationRegKey 7 \registry\machine\software\classes\gcASThreatAudit.ThreatLocationRegKey\Clsid 7 \registry\machine\software\classes\gcASThreatAudit.Threats 7 \registry\machine\software\classes\gcASThreatAudit.Threats\Clsid 7 \registry\machine\software\classes\GCCollectionLib.GCArray 7 \registry\machine\software\classes\GCCollectionLib.GCArray\CLSID 7 \registry\machine\software\classes\GCCollectionLib.GCArray\CurVer 7 \registry\machine\software\classes\GCCollectionLib.GCArray.1 7 \registry\machine\software\classes\GCCollectionLib.GCArray.1\CLSID 7 \registry\machine\software\classes\GCCollectionLib.GCCollection 7 \registry\machine\software\classes\GCCollectionLib.GCCollection\CLSID 7 \registry\machine\software\classes\GCCollectionLib.GCCollection\CurVer 7 \registry\machine\software\classes\GCCollectionLib.GCCollection.1 7 \registry\machine\software\classes\GCCollectionLib.GCCollection.1\CLSID 7 \registry\machine\software\classes\GCCollectionLib.GCCollectionGlobal 7 \registry\machine\software\classes\GCCollectionLib.GCCollectionGlobal\CLSID 7 \registry\machine\software\classes\GCCollectionLib.GCCollectionGlobal\CurVer 7 \registry\machine\software\classes\GCCollectionLib.GCCollectionGlobal.1 7 \registry\machine\software\classes\GCCollectionLib.GCCollectionGlobal.1\CLSID 7 \registry\machine\software\classes\gcSoftwareUpdateLib.SoapClient 7 \registry\machine\software\classes\gcSoftwareUpdateLib.SoapClient\Clsid 7 \registry\machine\software\classes\gcSoftwareUpdateLib.Update 7 \registry\machine\software\classes\gcSoftwareUpdateLib.Update\Clsid 7 \registry\machine\software\classes\gcTCPObjLib.Connection 7 \registry\machine\software\classes\gcTCPObjLib.Connection\Clsid 7 \registry\machine\software\classes\gcTCPObjLib.HTTP 7 \registry\machine\software\classes\gcTCPObjLib.HTTP\Clsid 7 \registry\machine\software\classes\gcTCPObjLib.HTTPCallBack 7 \registry\machine\software\classes\gcTCPObjLib.HTTPCallBack\Clsid 7 \registry\machine\software\classes\gcTCPObjLib.TCPIPQuery 7 \registry\machine\software\classes\gcTCPObjLib.TCPIPQuery\Clsid 7 \registry\machine\software\classes\Microsoft.AntiSpyware.ShellExecuteHook 7 \registry\machine\software\classes\Microsoft.AntiSpyware.ShellExecuteHook\CLSID 7 \registry\machine\software\classes\Microsoft.AntiSpyware.ShellExecuteHook\CurVer 7 \registry\machine\software\classes\Microsoft.AntiSpyware.ShellExecuteHook.1 7 \registry\machine\software\classes\Microsoft.AntiSpyware.ShellExecuteHook.1\CLSID 7 \registry\machine\software\classes\Microsoft.AntiSpyware.Trust 7 \registry\machine\software\classes\Microsoft.AntiSpyware.Trust\CLSID 7 \registry\machine\software\classes\Microsoft.AntiSpyware.Trust\CurVer 7 \registry\machine\software\classes\Microsoft.AntiSpyware.Trust.1 7\registry\machine\software\classes\Microsoft.AntiSpyware.Trust.1\CLSID 7
3. Go to Start>Run. Type
cmdand click OK.
4. Type
regini c:\path\to\MSASfix.txtand hit Enter.
The command should take very little time to execute and will provide no output.
It is recommended at this point that you uninstall MSAS at this point, then reinstall and re-run the fix.
NOTE: This is NOT an ideal workaround. The above workaround gives "Everyone: Full Control" to the registry keys. A more advanced solution would set the keys to the "Users" group. We are currently working on a better solution and hope to be able to provide that soon.
