• Home
  • Topics
    • Office 365
    • Teams
    • SharePoint Online
    • Exchange 2019
    • Exchange 2016
    • Exchange 2013
    • Hybrid
    • Certificates
    • PowerShell
    • Migration
    • Security
    • Azure
  • Blog
  • Podcast
  • Webinars
  • Books
  • About
  • Videos
    • Interview Videos
    • How To Guide Videos
  • Subscribe
    • Facebook
    • Twitter
    • RSS
    • YouTube

Practical 365

You are here: Home / Exchange Server / Exchange Server Error: An Incomplete Installation Was Detected

Exchange Server Error: An Incomplete Installation Was Detected

February 15, 2017 by Paul Cunningham 27 Comments

I ran into an interesting issue while I was removing an Exchange 2016 server from an environment. The uninstall process failed on step 5 of 13 and threw an error. The error itself is not all that important for this article, since there are many different errors that might put you in the same position I found myself in, rare as that may be.

When Exchange setup fails on an uninstall the first thing you would logically try is another uninstall. Unfortunately, Exchange setup now throws an error message that…

An incomplete installation was detected. Run setup to complete Exchange installation.

Taking Exchange at its word, I tried to reinstall the partially uninstalled server by running setup again.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D:\>setup /m:install /r:m /iacceptexchangeserverlicenseterms
 
Welcome to Microsoft Exchange Server 2016 Cumulative Update 3 Unattended Setup
 
Copying Files...
File copy complete. Setup will now collect additional information needed for installation.
 
Languages
Mailbox role: Transport service
Mailbox role: Client Access service
Mailbox role: Unified Messaging service
Mailbox role: Mailbox service
Mailbox role: Front End Transport service
Setup previously failed while performing the action "Uninstall". You can't resume setup by performing the action
"Install".


Thinking back to other Exchange setup-related disasters I’ve encountered, I remembered that Exchange stores some information about setup progress in the registry. There’s a tip about it here on the Exchange Masters blog. Setup is failing on the Front End Transport service in my case (see above), which is the “FrontEndTransportRole” in the registry.

Exchange Server Error: An Incomplete Installation Was Detected

After removing the Action and Watermark entries, I tried the Exchange install again. This time setup was able to complete the installation, which repaired the server. I was then able to run setup again to uninstall the server, which was successful.

Now, during all this I was asked whether we could just power off the server and remove it using ADSIEdit. As you hopefully already know, removing an Exchange server (or really, doing anything at all) in ADSIEdit is an unsupported method. Sure, there’s lots of war stories out there where people have gotten away with it and everything has continued to work okay in their environment (as far as they can tell), but I would never recommend it and certainly don’t do it for customers.

If you did have a server that was beyond repair and wanted to cleanly remove it from your environment in a supported manner, the correct approach is to use a recovery install. Recovery installs are available for all of the current versions of Exchange, and there’s really no excuse for not doing one if the scenario calls for it.

Exchange Server Exchange Server, Registry, Setup, Uninstall, Watermark

Comments

  1. Tovy says

    April 19, 2021 at 9:46 pm

    Hello, I ran into the same issue but keep getting this error Error: I’m running as an account that is Domain admin/enterprise admin/schema admin. If i try and run the CU23 update to run as a repair the same error below comes up so i’m stuck.

    The following error was generated when “$error.Clear();
    install-ExsetDataAtom -AtomName OrgLevelCt -DomainController $RoleDomainController -Organization $RoleOrganizationName

    ” was run: “System.Management.Automation.ParameterBindingValidationException: Cannot bind argument to parameter ‘DomainController’ because it is null.
    at System.Management.Automation.ParameterBinderBase.ValidateNullOrEmptyArgument(CommandParameterInternal parameter, CompiledCommandParameter parameterMetadata, Type argumentType, Object parameterValue, Boolean recurseIntoCollections)

    Any ideas ?

    Reply
  2. Roubi says

    May 4, 2020 at 5:09 am

    Hello Paul,

    I am dealing with the above issue (Exchange 2016 uninstall failed after it could not stop all the services in time) and now it says that “an incomplete installation was detected”.
    I cannot re-install because I have installed an Exchange 2019 to our domain. I even tried, but of course got the message that a newer server exists.

    Any ideas?

    Thank you,
    Roubi (an IT gal)

    Reply
  3. Chris Stone says

    July 27, 2018 at 11:11 pm

    Hi Paul,
    Love your articles. I have a good one that related to your post. I pulled a stupid while in the install Exchange 2016 phase of a SBS 2011 migration.

    I thought i’d be all cool and specify the DB and LOG file paths parameters in my setup command but i failed to create the folders first and furthermore i failed to specify the .edb extension of the DB and LOG files i wanted to create.

    therefore the setup program got stymied and failed at the MB role install phase.

    I found and pulled the watermark then reran the command to install the mb role.

    I’m really hoping that works.

    Reply
  4. Stuart Rowe says

    July 21, 2018 at 4:12 pm

    Hi Paul,

    Thanks for sharing this fantastic write-up. I’ve just exited a 3 day wrestling match with a failed Exchange 2016 server install (I’m an amateur) and the information you shared here and a couple other of your posts were key to me finding my way through the maze to resolution. VERY much appreciated.

    Regards,
    Stuart Rowe

    Reply
  5. Will says

    July 14, 2018 at 4:47 am

    Is there any way to locate a copy of Exchange 2013 CU 10?

    I’d like to try the solution from Aleksey, but I don’t have CU10 anymore and it’s not available from MS anymore.

    What I’m trying to do is uninstall 2013 after a 2016 migration, but it’s failing at step 6 – unified messaging service. It’s lookin for the UMLanguagePack msi and can’t locate it. I’ve tried to uninstall from th command from the /bin drive of the exchange installation location, but still fails.

    I believe if I had CU10 I’d be able to get this sorted, but I’m stuck right now. Ha k for any help!

    Reply
  6. Nima says

    August 29, 2017 at 6:24 pm

    Hi.
    I want to uninstall edge transport role and encounter same error.But the registry container for edge transport role doesn’t have any watermark and action keys.Do you have any idea about that?

    Reply
    • Paul Cunningham says

      August 29, 2017 at 10:13 pm

      No, but the good news is that the Edge Transport server isn’t a domain member, and doesn’t store config info in your AD, so if you need to you can just decommission the server without cleanly uninstalling the server. That assumes you’ve already removed the Edge configs, which I would assume you have since you’re at the uninstall stage.

      Reply
      • Nima says

        August 30, 2017 at 1:21 pm

        Thanks

        Reply
  7. Aleksey says

    June 19, 2017 at 10:42 pm

    Hi, Paul.
    So far my Exchange 2016 experience was smooth, I don’t know if what I write here can be applied to 2016. But with Exchange 2013 it happened often enough.

    Microsoft is very missleading (as usual).
    “An incomplete installation was detected. Run setup to complete Exchange installation.”

    What this actually means is that you shouldn’t open control panel, click uninstall programm, etc… You need to extract the distribution of your current version of exchange and run setup.exe in uninstalation mode.
    Like “.\setup /m:uninstall”.

    So far so good. Always worked for me, when normal uninstallation fails for any reason.

    Reply
    • joe says

      March 3, 2018 at 2:06 am

      This answer did it for me. There’s was no Action or Watermark entry in my registry, and this was much easier than having to reinstall first. Excellent!

      Reply
    • Ashfaq Ahmed says

      April 16, 2018 at 7:54 pm

      This worked for me too, just remove both registry values & run setup /m:uninstall from admin command prompt.

      Exchange 2013 SP1 CU18, removing one exchange mailbox server.

      Reply
    • Davy says

      January 5, 2021 at 1:07 am

      Yep, still works perfectly on Exchange 2016. I didn’t even bother checking the registry. Thanks for this tip!

      Reply
  8. Elizabeth says

    April 26, 2017 at 11:25 pm

    Will do that. Thanks so much for your Guidance Paul. And just so you know all this mess happened because when uninstalling Exchange, setup couldn’t stop the MSExchange Transport Service. It was stuck at Stopping. And eventually failed Setup failed. I think what I learned is that in the future I will make sure I reboot the servers before I uninstall Exchange, to have everything fresh. 🙂 Have a good day Paul.

    Reply
    • Elizabeth says

      April 27, 2017 at 3:38 am

      Hi Paul and just to post how I solved it: I login into EAC and under Mail Flow>Received connectors> I deleted the 2 receive connectors for the Hub Transport role (Mailbox) for that server that the installation was complaining about that already existed. After that I was able to ran setup again and it worked! So it looks like the original failed uninstall process partially got rid off the mailbox role but left behind those 2 items (Connectors). Many thanks for your help, I learned a lot. I really appreciated.

      Reply
  9. Elizabeth says

    April 26, 2017 at 8:32 am

    Hi Paul, Thanks for your great articles. I have the same situation right now with an Exchange 2013. Mine Failed because it couldn’t stop the Transport Service. So that registry entry is there (Action REG_SZ Uninstall). Just to be clear, do I delecte the whole entry? Also in your example above, you tried Setup.exe /mode:install, but it shouldn’t it be mode:recovery? Also, do I need to reset the AD account for the server? or can I just simply do this on this same server:
    1) Delete the Registry Key
    2) Run setup.exe /mode:Recovery /IacceptExchangeServerLicenseTerms

    I appreciate the help. First time recovering an Exchange server.

    Reply
    • Paul Cunningham says

      April 26, 2017 at 8:54 am

      I removed the Action and Watermark entries.

      Recovery install is used if you’ve had to completely rebuild the failed server from scratch.

      Reply
      • haruna says

        August 14, 2019 at 7:47 pm

        WHEN I RUN SETUP OF EXCHANGE 2016 I GET THIS ERROR BELOW

        Directory C:\Program Files\Microsoft\Exchange Server\V15\bin\Setup\ServerRoles\Common not found.

        Reply
    • Elizabeth says

      April 26, 2017 at 9:18 am

      Hi Paul, I had bit more time to think and I apologize. 🙂 Yes, you do a /M:Install because its that same server, and so no AD reset either. I will do this only if I was installing Exchange in ANOTHER server. One more thing: I have a co-existence with Ex2016, so it will allow me to re-install 2013 anyways without breaking anything right? Thanks in advance.

      Reply
      • Paul Cunningham says

        April 26, 2017 at 10:54 am

        If you still have 2013 servers, or your 2013 server is dead and needs recovering, then yes you can go ahead.

        Reply
        • Elizabeth says

          April 26, 2017 at 6:27 pm

          hi Paul, since is an Exchange 2013, I tried reinstalling typing setup.exe /m:install /r:clientaccess,Mailbox /IacceptExchangeServerLicenseTerms but it complained that the Client Access Role was already present. So I omitted the Client access and just typed /r:mailbox. When it gets to certain percentage it fails with an error exactly like this:

          [07/19/2015 00:58:47.0354] [1] [ERROR] The following error was generated when “$error.Clear();
          $defaultPort = 25;
          $localServer = get-exchangeserver $RoleFqdnOrName -DomainController $RoleDomainController;

          if ($localServer.IsFrontendTransportServer)
          {
          Write-ExchangeSetupLog -Info “Using port 2525 for the default hub receive connector since frontend role already present.”;
          $defaultPort = 2525;
          }

          $bindingString1 = ‘0.0.0.0:’ + $defaultPort;
          $bindingString2 = ‘:::’ + $defaultPort;
          $binding1 = new-object Microsoft.Exchange.Data.IPBinding $bindingString1;
          $binding2 = new-object Microsoft.Exchange.Data.IPBinding $bindingString2;

          new-receiveconnector
          -Name ("Default " + [String][System.Environment]::MachineName )

          -MaxRecipientsPerMessage 5000
          -Fqdn $RoleFqdnOrName

          -Bindings $binding1,$binding2
          -RemoteIPRanges 0.0.0.0-255.255.255.255,[::]-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF

          -DomainController $RoleDomainController
          -MaxInboundConnectionPerSource Unlimited

          -MaxInboundConnectionPercentagePerSource 100 `
          -SizeEnabled EnabledWithoutValue;
          ” was run: “Active Directory operation failed on Server.walhouse.local. The object ‘CN=Default SERVER,CN=SMTP Receive Connectors,CN=Protocols,CN=SERVER,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Walhouse,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=walhouse,DC=local’ already exists.”.
          [07/19/2015 00:58:47.0354] [1] [ERROR] Active Directory operation failed on Server.walhouse.local. The object ‘CN=Default SERVER,CN=SMTP Receive Connectors,CN=Protocols,CN=SERVER,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Walhouse,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=walhouse,DC=local’ already exists.
          [07/19/2015 00:58:47.0354] [1] [ERROR] The object exists.
          [07/19/2015 00:58:47.0354] [1] [ERROR-REFERENCE] Id=BridgeheadComponent___a525250ab5a4442c868ad368c34aad21 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup
          [07/19/2015 00:58:47.0354] [1] Setup is stopping now because of one or more critical errors.

          I really appreciate the help. This is an standalone server ready to be decommissioned.

          Reply
          • Paul Cunningham says

            April 26, 2017 at 9:16 pm

            Hard to say since I don’t know what happened in the lead up to this issue.

            If it’s a server you’re trying to decom you could consider just wiping the server, reinstalling a fresh OS, doing a recovery install, then a clean uninstall.

            Or consider opening a support case with Microsoft to see if they’ve got a better suggestion.

  10. LouYo says

    February 16, 2017 at 11:51 pm

    Another reason for running servers virtually. Backup (we use Veeam) is your friend.

    Reply
    • Paul Cunningham says

      February 17, 2017 at 8:12 am

      How does that help in this situation?

      Reply
  11. Asif Saleem says

    February 16, 2017 at 11:39 am

    Hello Paul,

    I had a situation where prior to uninstalling the old exchange 2013 it died. though the new server is running fine. I would like to know how can we removed the traces of the dead exchange 2013 from our organization. I saw many articles for utilizing the adsiedit but nothing from Microsoft. can you please help me out

    Reply
    • Paul Cunningham says

      February 16, 2017 at 12:22 pm

      The supported method is to perform a recovery install of the old server, then cleanly uninstall it.

      Reply
      • Nabil says

        January 23, 2018 at 8:17 pm

        what if the recovery it self fail 🙂 ??

        Reply
        • Paul Cunningham says

          January 24, 2018 at 9:35 am

          If a recovery install is failing you can build a new server with a new name and use database portability to mount the existing databases on the new server. Then there’ll be some cleanup efforts for the dead server.

          Reply

Leave a Reply Cancel reply

You have to agree to the comment policy.

Recent Articles

  • Turn On MFA: Real-World Example of Fraud, Domain Stealing, and the Nearly Lost House Deposit
  • Changes in Microsoft 365 Apps Channels and Why You Should Care
  • A New Tool to Manage Exchange-related Attributes Without Exchange Server
  • Microsoft Launches Group Ownership Governance Policy
  • Making the Case for Identity Governance in Azure Active Directory

Copyright © 2022 Quadrotech Solutions AG · Disclosure · Privacy Policy
Alpenstrasse 15, 6304 Zug, Switzerland