installation failed with error code 1603



    Hi all,


    while installing the configuration manager clients on a system manually, we came across this ERROR:


    installation failed with error code 1603


    Do anyone has any idea how can this be resolved. Several posts suggest its a problem related to client push installation method, but since I am installing the configuration manager clients manually, so I mush not be affected by anything related to Client Push Installation. However, be noted that client push installation is well configured on the server, there are certain computers where the client is not getting installed so we are installing the clients MANUALLY to those systems,


    Any help and suggestions would be higly appreciated.




    Thursday, June 12, 2008 11:23 AM

All replies

  • How did you try to install the client? Did you just start ccmsetup.exe manually?

    1603 = "Fatal error during installation."


    Thursday, June 12, 2008 12:17 PM

    I have also recived this error message.

    The server started as an SMS 2003 server with SQL 2005. I ran an inplace upgrade to SCCM and installed WSUS.

    A few weeks later I installed SP1 and then started to recieve this error on the Primary Site server and it occurs when SCCM attempts to upgrade the SCCM server's client.


    I have removed the SCCM Management Point and reinstalled it but that did not help. The 2 errors that are recorded in the CCMsetup.log are:

    An older version of the SMS Management Point is installed. Please upgrade the Management Point before attempting to upgrade the client.

    installation failed with error code 1603


    I have also seen the SMS service account being locked out recently, I have just reset the password on the various client services within the SCCM management console to see if that will help.


    Friday, June 13, 2008 11:12 AM
  • You may try to run ccmclean.exe /all and then reinstall the MP and the client.


    Friday, June 13, 2008 11:27 AM
  • We have seen this before with our clients.  What is bad is that fact that 1603 is a generic failure.  You will need to run through the the client install log line by line to fine the root cause.  For use it was a problem with the certificate but every enviroment/problem is different. 


    • Proposed as answer by Gorazd Šemrov Wednesday, October 01, 2014 4:44 AM
    Friday, June 13, 2008 12:53 PM
  • Could you share your ccmsetup.log?  Is your site mixed mode or native mode?




    Friday, June 13, 2008 5:18 PM
  • You need to regenerated the registry key i.e. HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\1FDE90624C4330B46B43553F3BCB9413. We can rename/delete the existing one. Rerun the setup. In my case it is verry helpfull and suseccfull many times. Keep backup of existing key for safe.

    Try this solution and let us know the result.

    Dattu Gadhe
    • Proposed as answer by Datta Gadhe Tuesday, January 17, 2012 8:12 AM
    Tuesday, January 17, 2012 8:11 AM
  • Thank you for your answer. It work for me. I look for the Key that contain the SMS Advanced Client, deleted and then reinstall. Everything is working now. Thank you!
    • Proposed as answer by German Cotogno Monday, August 06, 2012 5:48 PM
    Monday, August 06, 2012 5:48 PM
  • I have encountered the Error 1603/1602 while installing the HCKInstall\Client\Setup.exe on several machines. It appears to be generic at first, but it's not. The error code is being passed from the Service back to the MSI. It means that a service failed to start. The key is that it happens at the very end of the installation and then does the rollback. The solution is to figure out which service failed and then remove it and the directories.

    Here is what I did.

    I created batch to kick off before I install the client now. It basically checks for installed HCK products and if there uninstalls them. Then checks for the state of each service and if running stops the service before attempting to remove the HCK/WLK leftovers. Then it removes the sticky directory.

    :: Defaults...
    :: Default:_HCK_Services_="DTMService,FtsSvc,WLKSvc,WTTNotification,WTTResultsRelayAgent" services.
    SET _HCK_Services_=
    :: Default:_Directories_="C:^\Program Files ^(x86^)^\Microsoft Driver Test Manager"
    SET _Directories_=
    :: Default:_DEBUG_=off, use debug_on to change
    SET _DEBUG_=
    :: Examples: Comma delimited lists param1=Services param2=directory param3=debug_on
    :: ^<command.bat^> "DTMService,FtsSvc","C^:^\Program Files ^(x86^)^\Microsoft Driver Test Manager",c^:^\test, "debug_on"
    SET _HCK_Services_=%1
    IF /I "%2" NEQ "" SET _Directories_=%2
    :: SetDefaults:
    IF /I "%3" GEQ "debug_on" SET _DEBUG_=True
    IF NOT DEFINED _HCK_Services_ (
        SET _HCK_Services_=DTMService,FtsSvc,WLKSvc,WTTNotification,WTTResultsRelayAgent
    IF NOT DEFINED _Directories_ SET _Directories_=C:\Program Files (x86)\Microsoft Driver Test Manager
    :: Clear Parans on directories
    set _Directories_=%_Directories_:(x86)=replace_x86%
    :: CallMainFunctions:
    CALL:Main "%_HCK_Services_%"
        FOR %%A IN (%~1) DO (
            REM Checking for Active Services ant attempting
            IF DEFINED _DEBUG_ (
                ECHO Checking %%A...
            FOR /F "tokens=3 delims=: " %%H IN ('sc query "%%A" ^| findstr "STATE"') DO (
                IF DEFINED _DEBUG_ (
                    ECHO Service:"%%A" Status:"%%H"
                IF /I "%%H" NEQ "" (
                    IF DEFINED _DEBUG_ (
                        ECHO Service "%%A" is installed but not %%H.
                ) ELSE IF /I "%%H" GEQ "RUNNING" (
                    IF DEFINED _DEBUG_ (
                        ECHO. %%A %%H
                        ECHO Attempting to Stop %%A
                    SC STOP "%%A" >NUL
                ) ELSE IF /I "%%H" GEQ "START_PENDING" (
                    IF DEFINED _DEBUG_ (
                        ECHO. %%A %%H
                    REM Need to wait for it to fail before we can stop the service.
                    IF DEFINED _DEBUG_ (
                        ECHO Attempting to Stop %%A in 60 seconds...
                    PING.EXE -n 1 -w 60000 >NUL
                    SC STOP "%%A" >NUL
                ) ELSE (
                    CALL:print Service, "%%A", Error, "Unexpected Results"
            FOR /F "tokens=3 delims=: " %%H IN ('sc query "%%A" ^| findstr "STATE"') DO (
                IF /I "%%H" NEQ "STOPPED" (
                    CALL:print Service, %%A, Failure_To_STOP, %%H
                ) ELSE (
                    CALL:print Service, %%A, State, %%H
                    CALL:delete_Service %%A
            FOR /F "tokens=* delims=: " %%H IN ('sc query "%%A" ^| findstr "FAILED"') DO (
                IF DEFINED _DEBUG_ (
                    ECHO Service:"%%A" is not installed.
                    ECHO. State:%%H 
                CALL:print Service, %%A, FinalState, "Not Installed"
    CALL:RemoveDirectories "%_Directories_%"
    CALL:CheckInstallation "{3BEE5E5E-8BEE-F691-4349-7B2B41FF3A59}", UninstallString
    IF DEFINED _REGKEYFOUND_ MsiExec.exe /X{3BEE5E5E-8BEE-F691-4349-7B2B41FF3A59} /qb+
    CALL:CheckInstallation "{6F8333B4-7DB1-E6D3-52ED-5641F8F38B76}", UninstallString
    IF DEFINED _REGKEYFOUND_ MsiExec.exe /X{6F8333B4-7DB1-E6D3-52ED-5641F8F38B76} /qb+
    CALL:CheckInstallation "{A329307E-3CCD-57BF-47EF-1B857D1AF08E}", UninstallString
    IF DEFINED _REGKEYFOUND_ MsiExec.exe /X{A329307E-3CCD-57BF-47EF-1B857D1AF08E} /qb+
    CALL:CheckInstallation "{F1213F53-D794-2021-E14E-F4BEED1BBF3B}", UninstallString
    IF DEFINED _REGKEYFOUND_ MsiExec.exe /X{F1213F53-D794-2021-E14E-F4BEED1BBF3B} /qb+
        SET _RemoveDirectories_1_=%~1
        SET _RemoveDirectories_1_=%_RemoveDirectories_1_:"=%
        SET _RemoveDirectories_1_=%_RemoveDirectories_1_:'=%
        FOR /f "tokens=1-8 delims=," %%A IN ("%_RemoveDirectories_1_%") DO (
            IF "%%A" GEQ ":" (
                CALL:RMDIR "%%A"
            IF "%%B" GEQ ":" (
                CALL:RMDIR "%%B"
            IF "%%C" GEQ ":" (
                CALL:RMDIR "%%C"
            IF "%%D" GEQ ":" (
                CALL:RMDIR "%%D"
            IF "%%E" GEQ ":" (
                CALL:RMDIR "%%F"
            IF "%%G" GEQ ":" (
                CALL:RMDIR "%%H"
            IF "%%I" GEQ ":" (
                CALL:RMDIR "%%I"
            IF "%%J" GEQ ":" (
                CALL:RMDIR "%%J"
        exit /b 0
        FOR %%A IN ('%_RemoveDirectories_1_%') DO (
            REM CALL:RMDIR '%%A'
    :: GET Parans back
    SET _THEDIR_=%~1
    SET _DirStatus_=
    set _THEDIR_=%_THEDIR_:replace_x86=(x86)%
    set _THEDIR_=%_THEDIR_:"=%
    set _THEDIR_=%_THEDIR_:'=%
    IF NOT EXIST "%_THEDIR_%" goto endof
    RMDIR "%_THEDIR_%" /S /Q
        SET _DirStatus_=Removed
    ) ELSE (
        SET _DirStatus_=Failed To Remove Directory
    CALL:print RemoveDirectory, "%_THEDIR_%", Results, "%_DirStatus_%"
    SET var_3=%~3
    IF DEFINED var_3 (
        ECHO ^{^[^'%~1^'^]='%~2', ^[^'%~3^'^]='%~4'^}
    ) ELSE (
        ECHO ^{^[^'%~1^'^]='%~2'^}
        sc.exe delete "%~1" >Nul
        IF %ERRORLEVEL% NEQ 0 (
            CALL:print Service, %~1, FinalState, "Failed To Uninstall"
        ) ELSE (
            CALL:print Service, %~1, Current_State, Uninstalled
    SET _ORIGINAL_=%~2
    SET STR2=%~2
    SET STR3=%~3
    SET STR4=%~4
    REM ECHO.Str2="!STR2!"
    SET STR2=!STR2:%~1=!
    REM echo.STR2="!STR2!"
    IF /I NOT "!STR2!" EQU "!_ORIGINAL_!" (
      SET %STR3%=%STR4%
    REM Check Windows Version and sets variable for _Version_ and _OSType_
    REM Enhancement will be to install dependencies required for HCK
    SET _OSType_=
    FOR /F "usebackq delims=" %%i IN (`VER`) DO (
        SET _VERSION_=%%i
        SET _VERSION_=!_VERSION_:[=!
        SET _VERSION_=!_VERSION_:]=!
        REM CALL:TestStr "6.1", "!_VERSION_!", _OSType_, Windows_7_2008R2
        CALL:TestStr "5.0", "!_VERSION_!", _OSType_, Windows_2000
        CALL:TestStr "5.1", "!_VERSION_!", _OSType_, Windows_XP
        CALL:TestStr "5.2", "!_VERSION_!", _OSType_, Windows_2003
        CALL:TestStr "6.0", "!_VERSION_!", _OSType_, Windows_Vista_2008R1
        CALL:TestStr "6.1", "!_VERSION_!", _OSType_, Windows_7_2008R2
        CALL:TestStr "6.2", "!_VERSION_!", _OSType_, Windows_2012
    CALL:print OSType, !_OSType_!
    CALL:print !_Version_!
    ENDLOCAL && SET _OSType_=%_OSType_% && SET _VERSION_=%_VERSION_%
    SET KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%~1"
    FOR /F "usebackq skip=4 tokens=1-3" %%A IN (`REG QUERY %KEY_NAME% /v %VALUE_NAME% 2^>nul`) DO (
        SET ValueName=%%A
        SET ValueType=%%B
        SET ValueValue=%%C
    IF DEFINED ValueName (
        SET _REGKEYFOUND_=True
        CALL:print "REGKEY", "%~2", Name, "%ValueName%"
        CALL:print "REGKEY", "%~2", Value_Type, "%ValueType%"
        CALL:print "REGKEY", "%~2", Value_Value, "%ValueValue%"
    ) else (
        CALL:print "REGKEY", "%~2", "%KEY_NAME%\%VALUE_NAME%", "not found."

    Saturday, March 30, 2013 12:46 AM
  • Did you post this in the wrong forum?

    Your script has nothing to do with System Center Configuration Manager client installation and does not address the issue discussed.

    Also, by definition, 1603 is a Windows Installer error message that means "Fatal error during installation" and is always generic in nature for which you must examine the verbose Windows Installer log file to identify the issue.

    Jason | http://blog.configmgrftw.com

    Saturday, March 30, 2013 3:48 PM
  • Thank you for your answer now it is working for me also I was struggling for this issue.
    Monday, April 13, 2015 11:31 AM