Microsoft KB Archive/927112

From BetaArchive Wiki
Knowledge Base


You cannot clear the "Enable Authentication" check box for a COM+ library application in the Component Services administrative tool in Windows Server 2003

Article ID: 927112

Article Last Modified on 10/11/2007



APPLIES TO

  • Microsoft Windows Server 2003 Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems



SYMPTOMS

In the Component Services administrative tool in Microsoft Windows Server 2003, you cannot clear the Enable Authentication check box for a Component Object Model (COM)+ library application.

CAUSE

This problem occurs because of an issue in the data update process that occurs between the user interface for the Component Services administrative tool and the COM+ catalog.

WORKAROUND

To work around this problem, you can use a Visual Basic script to modify the authentication property of a COM+ library application. To create a .vbs file and to run the Visual Basic script, follow these steps:

  1. Start Notepad.
  2. Copy the following script into the Notepad file.

    Option Explicit
    
    Dim AppName
    Dim oArgs
    Dim lRet
    Dim Switch
    
    Set oArgs = WScript.Arguments
    If oArgs.Length <> 2 Then
        WScript.Echo "usage:"
        WScript.Echo ">cscript ChangeAuthentication.vbs <ApplicationName> <on/off>"
    Else
        AppName = oArgs(0)
        Switch = oArgs(1)
        lRet = EnableAuthentication(AppName, Switch)
    End If
    
    '=========================================================
    ' EnableAuthentication
    ' Param stAppName COM+ Application name
    ' Param stSwitch on - check "Authentication", off - uncheck
    ' =========================================================
    Function EnableAuthentication(stAppName, stSwitch)
        Dim oCatalog
        Dim oApps
        Dim oApp
    
        Set oCatalog = CreateObject("ComAdmin.COMAdminCatalog")
        Set oApps = oCatalog.GetCollection("Applications")
        oApps.Populate
        
        WScript.Echo("Searching " & stAppName & "...")
        For Each oApp In oApps
            If UCase(oApp.Name) = UCase(stAppName) Then
                WScript.Echo("Found " & stAppName & ". ")
                Exit For
            Else
                ' WScript.Echo("AppName " & oApp.Name & " No Match.")
            End If
        Next
        
        If oApp.Value("Activation") <> 0 Then
            WScript.Echo("AppName " & oApp.Name & " is not Library Application.")
            EnableAuthentication = -1
            Exit Function
        End If
        
        If UCase(stSwitch) = UCase("on") Then
            oApp.Value("Authentication") = 0
        ElseIf UCase(stSwitch) = UCase("off") Then
            oApp.Value("Authentication") = 1
        Else
            WScript.Echo("Switch is invalid.")
            EnableAuthentication = -1
            Exit Function
        End If
        
        oApps.SaveChanges()
        WScript.Echo("Finished.")
    
        EnableAuthentication = 0
    End Function
  3. Save the file as ChangeAuthentication.vbs.
  4. At a command prompt, type the following command, and then press ENTER:

    cscript ChangeAuthentication.vbs ApplicationName Setting

    Notes

    • ApplicationName represents the name of the COM+ library application for which you want to change the authentication property.
    • Setting represents the setting for the authentication property. Type on to enable authentication. Type off to disable authentication.
    • If you use the Visual Basic script to disable authentication, the user interface for the Component Services administration tool still displays a selected Enable Authentication check box.


STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Steps to reproduce the problem

  1. Click Start, click Run, type control admintools, and then click OK.
  2. Double-click Component Services.
  3. Expand Component Services, expand Computers, and then expand My Computer.
  4. Right-click COM+ Applications, point to New, and then click Application.
  5. Click Next.
  6. Click Create an empty application.
  7. Type a name for the COM+ application, click Library application, click Next, and then click Finish.
  8. Expand COM+ Applications, right-click the name of the COM+ application that you created in steps 4 through 7, and then click Properties.
  9. Click the Security tab.
  10. Clear the Enable Authentication check box, and then click OK.
  11. Right-click the name of the COM+ application that you created in steps 4 through 7, and then click Properties.
  12. Click the Security tab.


The Enable Authentication check box is selected.


Keywords: kbtshoot kbprb kbexpertiseinter KB927112