One of the many challenges faced in the enterprise environment is managing the myriad of applications installed on all of the workstations owned by that organization. This process becomes more complex when those applications must be configured to suit the specific requirements of the organization, for example adding in optional extensions or specialized interfaces.
Providing an elegant solution to the challenge of managing your company-wide installation of Altium software, the Enterprise Server platform provides a dedicated Network Installation Service. This service, allows an organization to perform installations, or updates to Altium products, over their local network. The main goals of the Network Installation Service are:
-
To improve speed of updates – people will download data inside of the local network.
-
To remove dependency on Internet access for update functionality – it could work in isolated networks, without access to the global internet.
-
To provide the ability to control versions and updates in a centralized way.
-
To support performing push installations, using Microsoft's Active Directory Group Policy.
Typically you would acquire the products and extensions that you need from Altium's Cloud Repository into your local Enterprise Server, then craft a deployment package for installation across your network. Subsequent updates can be configured automatically, or set up manually for ultimate control over what gets installed on your designer's machines.
The Network Installation Service (NIS) is available as part of an Enterprise Server installation. However, if you do not have the need for the full spectrum of powerful features offered by an Enterprise Server, but still would like to have access to the NIS aspect, you can do this through installation of the
Altium Infrastructure Server. This software gives you the ability to configure and use the Network Installation Service (and also a Private License Service (PLS)), without the data management aspect that has become synonymous with an Enterprise Server. In either case, to use the NIS, the computer on which the Enterprise Server (or Altium Infrastructure Server) is installed,
must have a connection to the internet.
Accessing the Network Installation Service
Related page: Exploring the Browser-based Interface
Your interface to the Network Installation Service (NIS) is the Installations page of the Enterprise Server Workspace's browser-based interface. Access this page by choosing the Admin – Installations entry from the navigation tree on the left.
You must log in to the Enterprise Server – through your preferred browser – using Administrator credentials, to access and perform Network Installation Service-type functions.
Accessing the Installations page of the Workspace's browser-based interface – your connection to the Network Installation Service. You must be signed-in as an administrator for your Workspace, in order to access and interact with the NIS.
NIS-related Settings
Before taking a closer look at the NIS interface, and indeed how to use the service, there are a couple of important settings to configure first. The Network Installation Service allows you to essentially copy product and extension installers from the Altium Cloud Repository – either acquired to your local Enterprise Server, or downloaded directly. For this to be possible, and also to benefit from automatic updating, you must supply your credentials for access to this Cloud Repository. Since the Altium Cloud Repository is the same entity from where you typically access Altium software installers (i.e. from the Altium Downloads page of the Altium site), this simply means providing your AltiumLive credentials. Do this on the Admin – Settings – General – AltiumLive Credentials page of the Workspace's browser-based interface.
Enter your AltiumLive credentials as part of the general settings for the Workspace. These are required to be able to acquire Altium products and extensions from Altium's secure storage in the cloud (the Altium Cloud Repository, if you will). Remember to click the Save button to effect the changes made to this page.
The second setting involves specifying the checking interval when using the Automatic Updates feature. This determines how often the Altium Cloud Repository is checked for later versions of specified products and extensions. Set the interval time, in minutes, on the Admin – Settings – Network Installation page of the Workspace's browser-based interface. The default is 120 minutes (so checking for updates every couple of hours).
For products and extensions that are configured for automatic updating, specify the interval by which the software should check for these updates.
Working with the NIS Interface
The following sections take a detailed look at the various constituent tabs of the NIS interface, ordered in terms of logical flow when using the service.
Products & Extensions Tab
The Products & Extensions tab is your view into the set of available Altium product and extension installers – available to you based on your provided AltiumLive credentials (refer back to the previous section). These are stored in Altium's Cloud Repository.
There are two categories of installers that can be downloaded from the Altium Cloud Repository:
-
Products – includes all products available to your organization under your current licenses, such as Altium Designer.
-
Extensions – extensions 'plug in' to a product to extend its functionality.
Use the two regions of the tab to select a required Product and any Extensions.
Only one product – and version of that product – can be selected for acquisition/download at any given time, but any number of extensions may be selected (with only one specific version thereof). All extensions that are installed by default for the selected product (and version) will automatically be included as part of the acquisition/download (and will be the latest version applicable to that product version). Rather, the extensions that are available, but not installed by default, are the ones to specifically enable, if required.
Enabling (checking) the top-level product (or extension) will automatically enable just the latest release of that product or extension, there is no need to expand the product and scroll to the bottom of the list to select the latest version.
The Products & Extensions tab of the NIS interface is where you choose the product, and relevant extensions, that you wish to acquire (or download). Here, an example product is selected ready for acquisition. Notice also that you can use the filtering fields to quickly find what you need (as shown here in the Extensions region).
As well as being able to acquire and store products and extensions inside your local Enterprise Server, you can also use the NIS interface to download products and extensions outside of the Enterprise Server – as a saved ZIP archive file. This latter ability is included so that you can easily transfer installation packages between NIS installations (from an Enterprise Server on an open network to one on a closed network, for example). To distinguish between acquisition into your local Enterprise Server, and download onto a hard drive, the following buttons are presented:
-
– acquire and store a product and any extension(s) within your local Enterprise Server.
-
– create a package that can be downloaded directly onto the hard drive.
Once you have selected the product and any extension(s) as required, click the appropriate button to proceed with the acquisition or download. There will be a couple of notification dialogs – just click OK to continue through. Progress can be viewed on the Tasks tab of the interface.
If downloading rather than acquiring, you will need to ultimately download the package from the Tasks tab – lookout for the Download Package control, associated with the applicable and completed Packaging task. Download will be to the default download location defined for your browser.
When acquiring into your local Enterprise Server, the acquired products and extensions will appear highlighted in the lists using green text. Green text at the parent level means you have the latest version of that installer.
Acquired product and extensions (and relevant versions thereof) are highlighted through the use of green text.
Tasks Tab
The Tasks tab presents an Operations Log reflecting a task that is currently running, or has been run. These include:
-
Acquiring – acquiring a product and any extensions from the Altium Cloud Repository into your own local Enterprise Server.
-
Packaging – zipping up a product and any extensions ready for download to your local hard drive.
-
Import – importing an offline installation package (into your local Enterprise Server).
Check here to see the status of running/completed tasks. Expand a task to see a detailed list of tasks involved.
The Tasks tab of the NIS interface is where you can view a task that is currently running, or tasks that have been run – an operational log as it were.
You may need to reload the page, or click on another tab and back again, to manually refresh the information for a running task.
If you are creating an installation package for downloading to your local hard drive, the installation package is not saved directly to your hard drive. Instead, it is simply prepared and stored in your local Enterprise Server. You then need to click the Download Package control. The package will be delivered as a ZIP file – downloaded to the default downloads location specified for your browser.
An example of an installation package that has been prepared (having used the Download button on the Products & Extensions tab) and then subsequently downloaded to the local hard drive.
Server Storage Tab
The Server Storage tab lists what products and extensions are available in your local Enterprise Server – those that you have previously acquired using the Products & Extensions tab of the interface. A deployment package can only include products and extensions that are listed in this tab.
The Server Storage tab of the NIS interface reflects all products and extensions that are currently available in your local Enterprise Server. These are then used to fashion and generate a deployment package.
You can of course add to this bucket at any stage by acquiring more products and extensions (from the Products & Extensions tab). You also have the ability to import an installation package (from your hard drive or a network location, for example). To do so, click the button, then browse to the required file(s) in the subsequent Open dialog. Typically, this would be the ZIP file containing a previously downloaded installation package – a single file to select, and all required components of the installation will be extracted and imported accordingly.
The import feature is intended for those situations where you need to transfer installation packages between NIS installations (from an open network to a closed network, for example).
Products and extensions can be imported from an offline installation.
If a particular version of a product (or extension) is already present in the local Enterprise Server, it will not be imported again.
To remove any products and extensions – removing them from your local Enterprise Server – select them in the
Products and
Extensions lists respectively, then click the
button.
With the products and extensions resident in your local Enterprise Server, you are now free to build one or more deployment packages, for use in the wider company. This can be initiated from the Server Storage tab by selecting the required product and extension(s) and clicking the button. This actually takes you to the Deployment Packages tab of the interface, and configuration is performed in the subsequently presented Deployment Package dialog. This is detailed more closely in the following Deployment Packages Tab section.
You can generate a deployment package directly from a selected product and any extensions in the Server Storage tab of the interface. Roll over the image to see that you will be taken to the Deployment Packages tab of the interface, and the Deployment Package dialog presented, with which to refine the package as required.
Deployment Packages Tab
The Deployment Packages tab of the NIS interface is where you create and configure a Deployment Package, which stipulates how to install the chosen product and extensions. Once created, an associated Windows Installer Package file (*.msi) can be downloaded, and used to install the software on a target client machine, or on all client machines throughout the company.
Each defined deployment package is stored in your local Enterprise Server.
The Deployment Packages tab of the NIS interface – command central for fashioning deployment packages that can then be downloaded and used within your organization.
To add a new deployment package, click the button. The Deployment Package dialog will appear, in which to configure the package (see Configuring a Deployment Package).
For each defined deployment package, the following is presented:
-
Name – a meaningful name for the package, perhaps identifying the product (and version) it will be used to install.
-
Description – a more detailed description of what the package provides, and for whom.
-
Created By – the local Enterprise Server user who has created the package.
-
Created At – the date and time at which the package was created.
-
Edit – click the icon to access the Deployment Package dialog, in which to make modifications to the package as required.
-
Download – click the icon to download an associated Windows Installer Package file (*.msi) to your hard drive. This file will be named after the entry in the Name field (i.e. <DeploymentPackageName>.msi). Download is to the default location specified for your browser.
-
Remove – click the icon to delete the package from the list.
Configuring a Deployment Package
Within your local Enterprise Server, a deployment package is essentially a list of required product and extension installers, along with configuration information on how the software is to be installed. When you click to download a deployment package from your Enterprise Server, a Windows Installer Package file (*.msi) is created. The Installer is a small executable that, when run, sources the actual product and extension installation files that it needs from your local Enterprise Server, and installs in accordance with the options specified in the referenced deployment package. The files that it will source from the Enterprise Server are determined by the product and extensions defined in the deployment package. The product and extensions are configured by you in the Deployment Package dialog, with that detail then saved into the deployment package.
A deployment package is fully configured using the Deployment Package dialog.
Use the Deployment Package dialog to configure the package as required, providing the following information (as applicable):
-
Package Name – use this field to define a meaningful name for the package.
-
Description – use this field to provide a more detailed description of the package, perhaps stating its purpose.
-
User Name & Password – local Enterprise Server login credentials required to access the Enterprise Server during installation to retrieve the required files. These must be defined.
-
Show Progress – enable this option if you'd like to have the Installer reflect the progress of the installation. In this case, an Installer dialog will present, showing the progress for Download, followed by the progress for Install. If this option is disabled, the software will effectively be installed in a silent manner, with no installation dialog appearing.
-
Installation path – use this field to specify the directory on the user's machine, in which the software is to be installed (e.g.
[ProgramFilesFolder]\Altium\AD<VersionNumber>
).
-
Documents path – use this path to specify the path to the documents folder on the user's machine (e.g.
[CommonAppDataFolder]\Documents\Altium\AD<VersionNumber>
).
-
Private License Server (optional) – use this field to enter the TCP/IP address of a Private License Server that will provide licenses to the installed software.
-
License Activation code(s) (optional) – use this field to enter the activation code(s) for preferred license(s) to be used with this product installation.
-
Preferences (optional) – use this field to constrain the user to use a specific set of preferences with their installation. The drop-down lists all existing Altium Design Preferences Item-Revisions in your local Enterprise Server. Choose one of these if suitable. Alternatively, you can use a file-based preferences file (*.DxpPrf). To do so, click the button, and browse to the file in the subsequent Open dialog that appears. The chosen file is uploaded/released into the initial revision of a newly-created Altium Designer Preferences Item, in your Enterprise Server, and this is then selected back in the Preferences field. To remove this restriction, click the associated button.
The new Altium Designer Preferences Item (and revision) will be created in a Managed Content\Configuration\Preferences folder, within your local Enterprise Server.
-
Use latest versions of products – enable this option if you want to force the Installer to use the latest versions of the product and extensions.
-
Products – this list will include all products that have been acquired, and are currently available in your local Enterprise Server. Enable the product (and version) that you want installed by this package.
If you have selected a product (and version) on the Server Storage tab of the interface, it will already be selected in the Deployment Package dialog.
-
Installation Features – a product can have a variety of options that can be configured during install, known as Installation Features. In this region, you are configuring the on/off state that those features present during installation. Note that the on/off state of such features can be changed by the user during installation, and they can also be installed/uninstalled from within the installation at a later time, if required.
-
Extensions – this list will include all extensions that have been acquired, and are currently available in your local Enterprise Server. Enable the extension(s) (and version) that you want installed by this package.
If you have selected an extension (and version) on the Server Storage tab of the interface, it will already be selected in the Deployment Package dialog.
Whether creating a brand new package, or editing an existing one, once the package is defined as required, click the OK button to create/update it – a newly-defined package will appear listed alongside all other defined packages, back on the main Deployment Packages tab.
Updates Tab
To help ensure that the collection of product and extension installers that you have stored in your local Enterprise Server are always up to date, you can configure them to either be updated manually, or automatically. The advantage of Manual Updates is that you have control over when the latest version of each product/extension is acquired. Of course, the downside is that you must keep an eye on things and manually acquire them. The advantage of Automatic Updates is that you do not have to remember to check for updates, but all latest versions will automatically be acquired.
The Updates tab of the NIS interface presents a convenient area in which to configure how you want your products and extensions – in your local Enterprise Server – to be updated.
The Updates tab of the NIS interface – command central for controlling how the products and extensions in your local Enterprise Server get updated, when later versions of those products and extensions become available in the Altium Cloud Repository.
The tab lists all of the products and extensions that are currently in your local Enterprise Server, by name. It doesn't list the version of each you currently have, but rather the latest version of that entity, as available in the Altium Cloud Repository (check the listing back on the Products & Extensions tab to see this).
For each entity, the following update options are available:
-
Acquire Manual Update – if the version of the product/extension in your local Enterprise Server is already the latest, there is nothing to update, and so the icon will be displayed. If the version you have is not the latest, the icon will be displayed. Click on this to acquire the latest version of the product/extension. There will be a couple of dialogs – click OK to proceed. Activity of the acquisition can be viewed on the Tasks tab of the interface.
-
Automatic Update – enable this option to include the product/extension as part of automatic updates. Checking for available updates will be performed in accordance with the update checking interval, defined on the Admin – Settings – Network Installation page of the Enterprise Server Workspace's browser-based interface. If an update is available for the product/extension, enabling this option will not perform the update immediately – you must wait for the defined checking interval to elapse. Once the update is performed, only the latest version will be acquired.
Various controls are available to manually update multiple entities, or enable automatic updating for multiple entities, simultaneously:
-
To update multiple entities manually, enable the checkbox to their left, then click the button.
-
To enable the Automatic Update option for multiple entities, enable the checkbox to their left, then click the button.
-
To disable the Automatic Update option for multiple entities, enable the checkbox to their left, then click the button.
To quickly select/deselect all products, or all extensions in the listing, use the controls available beneath the list.
Installation on a Client Machine
Installation of software on a client machine is a streamlined process and involves:
-
An Enterprise Server Administrator downloading the required Deployment Package (from the Deployment Packages tab of the NIS interface), to obtain the Windows Installer Package file (<DeploymentPackageName>.msi).
-
Copying the MSI file to the target client machine.
-
Double-clicking on the MSI file. The software will be installed, in accordance with the options defined in the deployment package, with the relevant product and extensions sourced from your local Enterprise Server. If the deployment package included the option to show installation progress, an Installer dialog will present, showing progress for Download and then Install phases. If this was not enabled, then the software will be installed in a silent manner. Installation will be to the Installation and Documents paths specified in the deployment package.
If the installation fails, take a look at the deployment package, and ensure that it has been defined correctly. Some common errors are to not have defined the Installation and Documents paths, or to have defined the local Enterprise Server access credentials for a user that does not exist as a defined user in that Enterprise Server. Rectify any issues with the deployment package, save the changes (click OK in the Deployment Package dialog), then download the fresh MSI file, and try installing again.
Offline Licensing
In a closed network environment – where direct internet access to the Altiium Licensing Portal is not available – deployed software can be licensed from the Enterprise Server's Private License Service (PLS). The Enterprise Server's PLS distributes previously acquired software licenses via the local network (Local PLS mode), which may be assigned to specific Enterprise Server User Groups to constrain license availability and usage.
Licenses become available to the newly installed Altium design software when a user signs into the Enterprise Server, or connects to the Enterprise Server's PLS via Altium Designer's internal private license server feature. When a license's group assignment is set for Automatic Leasing in the Enterprise Server PLS, it will be leased by the design software without the need for user intervention.
► See the Private License Service page for detailed information on using the Enterprise Server PLS.
Centralized Deployment on Multiple Client Machines
The Network Installation Service also supports managing Altium product installations in a centralized way. With the help of the NIS, it is possible to run the installation of a product such as Altium Designer remotely, on multiple computers at a time, via Microsoft Active Directory. Installation is performed via the Group Policy Software Installation Extension. The Group Policy Software Installation Extension allows administrators to use the Group Policy Object Editor to centrally manage the installation of software on all client computers in an organization. This is accomplished either by assigning applications to users or computers, or by publishing applications for users.
The following components are necessary to deploy software using the Group Policy Software Installation Extension:
-
Group Policy.
-
Windows 2000 Server, Windows Server 2003, Windows Server 2008/2012 R2, Windows Server 2016 Standard Edition, or later domain controllers such as Windows Server 2019/2022.
-
A network that uses Active Directory directory service-based domains.
-
Target computers that run a professional or enterprise edition of Windows, such as Windows 10 Pro or Windows 11 Pro.
The Group Policy Management Console (GPMC) is not required, but strongly recommended for efficient administration.
Recommended Approach
The recommended approach for centralized installation management of an Altium product can be divided into initial installation, and installation updates.
For initial installation:
-
Sign-in to your local Enterprise Server, as an Administrator, through the Enterprise Server Workspace's browser-based interface.
-
From the Product & Extensions tab of the NIS interface, acquire the required version of the product, and any extension(s), into your local Enterprise Server.
-
Prepare the required deployment package (on the Deployment Packages tab of the NIS interface).
-
Download the deployment package, to obtain the required Windows Installer Package file (<DeploymentPackageName>.msi)
-
Configure the Group Policy which will run that MSI file on the desired client computers.
-
Push the installation to the desired computers/users using the Group Policy Software Installation Extension feature of Active Directory.
Once this process is complete, users will have a pre-configured installation of the software, in accordance with the configured options in the original deployment package.
Updates can be installed using the following approaches:
-
Update the Altium software via the in-application update engine.
-
Push an update using the Group Policy Software Installation Extension feature of Active Directory. If this approach is used, the simplest way is to edit the original deployment package (using the Deployment Package dialog) and choose the required new versions in the Products and Extensions lists. You can ensure that the latest version of a product will be used by the Installer by enabling the Use latest versions of products option. Save the modified deployment package and download a fresh (and updated) MSI file, which can then be used to deploy the update.
Example Software Installation via Group Policy-Active Directory
Once you have prepared the deployment package, you can then configure the Group Policy Object (GPO) on your Domain controller. The subsequent steps were followed to test this on a Windows Server 2012 R2:
-
Log into the Enterprise Server (through its browser interface) and download the deployment package (
<DeploymentPackageName>.msi
) from the Deployment Packages tab of the Enterprise Server's NIS interface.
-
Copy the MSI file to a suitable file share location, such as
\\YourServername\Sysvol\DomainName
. This location should be shared to all of the computers that you want the software deployed on.
-
Create a new organizational unit in Active Directory, using the following steps:
-
Open Active Directory Users and Computers, then in the console tree, right-click on your domain and select New » Organization Unit.
-
Enter the name of the Organizational Unit, then add all client computers that the software is to be installed on.
-
Open Group Policy Management – from the Control Panel open Administrative Tools, then open Group Policy Management.
If Group Policy Management is not installed, open Server Manager from the Administrative Tools, select the Features tab on the left-hand side, then click Add Features in the pane on the right. Enable the Group Policy Management checkbox and then work through the subsequent pages. Once it is installed it can be opened as described above.
-
In the Group Policy Management interface, go to the existing policies. To do this, open Domains, then YourDomain, then Group Policy Objects. This is where your GPO's are stored.
-
Create a new GPO. To do this, right-click on the folder Your organizational units you have created and select New. Type in a name for your GPO.
-
Once you have created your new GPO, it will show up in the Your organizational units you have created folder. Click on the new GPO. In the right pane at the bottom, there is a box that says Security Filtering. Enable it, and clear the Authenticated Users entry.
-
If you want this program deployed on specific computers, add each of the specific computer's names. Otherwise, to deploy to all computers in the domain, add the group, Domain Computers.
-
Locate the Your organizational units you have created folder in the navigation pane and right-click on it. Select the command Link an existing GPO, then click on your new GPO, then click OK.
-
The next step is to add your MSI file. To do this:
-
Locate the GPO in the Your organization unit folder, and right-click on it. Select the Edit command and a new window will open.
-
Navigate to Computer Configuration, then Policies, then Software Settings, then Software Installations. Right-click inside the empty pane on the right, and select New » Package.
-
In the new window that opens, navigate to the domain share that you created earlier (
\\YourServerName\FolderName
– not the physical folder on the server, C:\FakePath\FolderName
), and select your MSI file.
-
Click the Assigned bubble and then click OK.
-
The last step is to close all of the open windows/dialogs on the server and reboot all of your workstations. When they start, they will install the deployed application before the computer allows a user to log on. That means it will sit there and say Please wait... for quite a while as the program is installed.
It may take 2-3 restarts for the server to update the GPO on the workstations. If it does not, you can force it to perform the update using a command prompt, by typing: gpupdate /target:computer /force /logof
.
NISDeploy
The Windows Installer is wrapped up as part of a special deployment utility, called NISDeploy.exe. You may briefly see mention of the NISDeploy MSI Wrapper when the MSI file is launched to install its associated software (as determined by the deployment package from which it was downloaded/generated), and again when the installation completes. NISDeploy is a specialized tool that automates the deployment package download and launching. Having a dedicated tool allows you to adjust the package settings, without needing to reconfigure the Group Policy. NISDeploy is controlled via parameters, with the following parameters supported:
The beauty of delivering a deployment package in the form of an MSI file is that no knowledge of command line parameters is required. The software is installed simply, efficiently and, if required, silently. NISDeploy has just become a wrapper for the MSI Installer. The listing of command-line parameters here, and the example batch file entry that would run the tool thereafter, is just for completeness, and need never be used in general in this way.
-server |
Enterprise Server address (in format hostname:port ). |
-user |
Enterprise Server user name, that will be used for downloading the deployment package and running the installation. It is recommended to use the same password as in package properties. |
-password |
Enterprise Server user password. Similar to -user. |
-profile |
Name of deployment package, which will be downloaded and installed. |
-programs |
Path where product will be installed. |
-documents |
Path where document and samples will be installed. |
-autoinstall |
Launch installation without modal windows and additional dialog. Only progress will be shown. Is used for silent installation in automatic mode. |
-lastversion |
Installer will ignore deployment package and install latest available version for product mentioned in package. Rarely used parameter for cases when we need just latest available version of product, for example for testing purposes. |
-installall |
Install all product features. Similar to -lastversion, overrides package settings and forces to install all possible features of product (all exporters, extensions, etc). Rarely used in regular life. |
-logs |
Path where installer logs will be placed. Need to be used only for debugging purposes. |
Below is an example of a batch file to run NISDeploy:
"C:\Program Files (x86)\Altium\Altium365\Services\NIS\bin\NISDeploy.exe" -server localhost:9780 -user admin -password admin -profile "AD Latest" -programs "%PROGRAMFILES%\Altium\AD-Latest" -documents "%PUBLIC%\Documents\Altium\AD-Latest" -autoinstall
Further Reading
These are just some pointers. More detailed information, and information relevant to the Microsoft Windows Platform you are using, should be sought from the Microsoft site, or any applicable third party sites.
Configuring Altium Design Software for Local Installation Updates
Altium Designer can be configured to automatically check for updates. This is done on the System – Installation page of the Preferences dialog. As well as configuring how often the software checks for an update, you also configure where it should look for available updates. For a locally-deployed installation, the software needs to 'point' to the local Enterprise Server where the product and associated extensions (and versions thereof) are stored. After installation on the client machine, the Local installation service option will be enabled by default.
By default, the installation of Altium Designer will look to the local installation service for updates – i.e. the local Enterprise Server in which the acquired products and extensions reside. You must ensure that you are signed into this Enterprise Server.