2 followers Follow

Mass deployment and phasing out per-user installs

I am wondering what everyone else is doing to phase out per-user installs and deploying all-user installs of the integrations (or how NetDocs plans to do this with ndOffice 1.9).

The problem is that to completely remove the per-user installations from a machine, every single user that logged into a computer needs to log in again to perform the uninstallation under their own credentials. According to NetDocs, this also needs to happen before the all-user installation is installed.

Not only that, our older images (of which there are still many deployed) have the per-user installation of ndOffice 1.5 on the default profile. Therefore, any new users who ever log into those machines will get a per-user installation of ndOffice 1.5, as well as whatever system-wide version is installed.

The whole situation is a mess.

Status: None

Official comment


For individual per-user installations, ndOffice 2.0 (the next major release of ndOffice) will ship with a bootstrapper that will be able to uninstall 1.8 per-user installations before installing the all user version. This requires an admin account to perform.

This obviously does not help with pre-1.8 installations, nor with multiple per-user installations.


Don Lavange

Please sign in to leave a comment.



Thanks, Don.

In case anyone is wondering how we tackled this:

Our goals were:

  1. Update all integrations for each user (we have never had a good way to automatically roll out updates, so we had users on all different versions of all integrations).
  2. Uninstall any per-user integrations
  3. Install all-user versions of all integrations
  4. Periodically run a program as the logged on user to make sure they don't have a per-user version installed, and that the all-user version is at the latest version.
  5. Do not force close Office/IE/Adobe Reader - prompt users to save their files and close applications before upgrading.

I ended up building a custom bootstrapper (written in C#) that I deployed to everyone's computers, along with the latest installers for each integration.

The bootstrapper is kicked off by Scheduled Task (deployed via GPO) that runs as the logged on user at login and every hour.

The bootstrapper ensures the user has no per-user integrations installed, and that all integrations are installed for all users and at the latest version. If either of these things requires remediation, a prompt pops up, prompting the user to close Office/IE/Reader for the upgrade. The user has the option to postpone the upgrade.

When the user runs the upgrade, it runs the uninstallations in the user-context, then launches a separate program in the admin context, which does any additional uninstallations as necessary, and then runs the installations to install the all-user versions of the integrations.

0 votes