Application Migration is a separately licensed product from 1E that replaces the Application Mapping feature in Shopping with a much more feature rich solution. The legacy Application Mapping feature is still supported in Shopping requires legacy AppClarity 5.6 , so you can continue to use it, however there are additional considerations if you are also upgrading AppClarity explained below under AppClarity integrationwhich is out of support, but can still be used with Shopping.
When Shopping is integrated with Application Migration, the Shopping OSD Wizard and the Windows Servicing Assistant show the user which applications will be migrated.
If Application Migration is replacing Application Mapping:
- there is currently no automated method to migrate rules from Application Mapping to Application Migration. Please contact 1E if you require help with this (email Support@1e.com)
- you can continue using AppClarity 5.x for license management but instead you may wish to consider using the web-based AppClarity 7.1, which can be installed on Tachyon Platform alongside Application Migration.
Shopping and Windows Servicing Assistant are licensed separately. Both license keys must be provided when installing Shopping Central server.
Microsoft System Center Configuration Manager requirements
If you use Shopping's ConfigMgr integration, you will need the following installation accounts, ConfigMgr security role, and database access.
Shopping installation accounts
The user installing Shopping Central or Shopping Receivers requires membership of the Full Administrator security role in Configuration Manager, as described in Accounts needed to install Shopping.
1E Shopping Receivers security role
The Receiver service account or group requires the following permissions in Configuration Manager.
These permissions are defined in an XML file and can be imported using the Configuration Manager console to create a 1E Shopping Receivers security role. Each Receiver service account or the Receivers group can then be assigned to this role. This is a one-time only manual procedure prior to installation of the first Receiver. The permissions for the 1E Shopping Receivers role have changed in Shopping 5.6 to include support for client notification. You will need to import one of the following files, depending on your Configuration Manager version:
When a Receiver creates a collection for deploying an application it needs to specify its limiting collection. By default, that is either All Systems or All Users and User Groups. However, these defaults are configurable in the Receiver's config file. Other collections can be mapped if the Shopping RBAC feature is used. If these collections are known, specify them, otherwise select All instances of the objects that are related to the assigned security roles option in the Security Scopes tab. For more information see Role based access control in Shopping.
Configuration Manager site databases
Shopping Central - the Shopping Central Service account (SVCUSER) must be a member of the Shopping Configuration Manager Database Access (SHOPPINGCONSOLESMSUSERS) group. This group requires a login with db_datareader rights and execute permission on the
fnGetSiteNumber functions. If the Shopping Central installer has sufficient rights on the Configuration Manager database, then these database rights will be configured automatically during installation.
Shopping Receivers - in all Configuration Manager Site databases, ensure the Shopping Receiver service account has a login with db_datareader rights and execute permission on the
fnGetSiteNumber function. If the Shopping Receiver installer has sufficient rights on the Configuration Manager database, then these rights will be configured automatically during installation.
Support for the Windows Servicing Assistant
Microsoft Intune requirements
To prepare for integration with Intune please refer to Enabling Intune integration.
Shopping Intune integration supports the Intune application types that are most useful for Windows clients. Additional application types might be supported in future versions. See Managing Intune applications page for more details.
Device used with Shopping's Intune integration must be Hybrid Azure AD joined in Azure Active Directory (AAD). User accounts (including administrator and service accounts) must be "Windows Server AD" sourced in AAD and must have a global domain suffix (Contoso.com, for example, not Contosocom.onmicrosoft.com). If the accounts are for a local domain, a universal principal name (UPN) can be used.
Shopping Intune integration assumes that user accounts can be uniquely identified by their e-mail addresses. In other words, Shopping end-users accounts do not share e-mail addresses.
You will also need the following Azure Active Directory accounts for these purposes:
|Account Purpose||Member of||Usage||Notes|
|Configuration||Global administrator and Intune administrator AAD roles||During setup and as needed for troubleshooting||This account does the steps described in Enabling Intune integration.|
|Service||Intune administrator AAD role||Ongoing for the Shopping Central service to access AAD user and device details and app deployment status||This is the AAD hybrid account that corresponds to the service account used to run the Shopping Central service.|
|Intune Administrators||Intune administrator AAD role||Ongoing for Intune app management||You might prefer to apply the Intune administrator role to a group and add relevant administrator accounts to the group.|
|Shopping administrators||User and groups setting for the Shopping Console Authentication Client App (see Enabling Intune integration for details)||To access Intune apps from the Shopping console and to trigger on-demand AAD device and user synchronizations|
You might prefer to add a group to the User and groups list and add relevant Shopping administrator accounts to the group.
The Intune administrators and Shopping administrators might all be the same accounts but they do not have to be. Intune administrators could manage the Intune apps but not have Shopping privileges. Shopping administrators could use the Intune apps but not be able to manage them.
Shopping Central installation account
The user installing Shopping Central requires the following
- Must be a domain user
- Must be a member of the Shopping Administrators (ADMINACCOUNT) group
- Must have local admin rights on the server on which Shopping Central will be installed. If the Shopping Central Service and Web components are to be installed on separate servers, the user installing them must have local admin rights on each server.
- Must have local admin rights on the Configuration Manager site server.
- Must be a member of the Full Administrator role in Configuration Manager as the installer adds ConfigMgr Security rights for the Shopping Central Service Account.
- Requires one of the following sets of rights on the SQL instance hosting the Shopping database
- sysadmin (can be temporary for the duration of installation), or
- ALTER ANY LOGIN (on the SQL server / instance) and db_owner (on the database) if the Shopping database is pre-created, or dbcreator if the installation will create the database
- Requires one of the following sets of rights on the SQL instance hosting Configuration Manager database:
- sysadmin (can be temporary for the duration of installation), or
- ALTER ANY LOGIN and db_owner
Shopping Receiver installation account
The user installing the Shopping Receiver requires the following
- Must be a domain account
- Must have sysadmin rights on each SQL instance hosting the Configuration Manager database
- Must be a member of the Full Administrator role in Configuration Manager
- Useful to be a Shopping Administrator with access to the Sites node in order to select the Primary Site, otherwise another Administrator can complete that step after installation
Shopping Central service account
- Must be a domain account with local admin rights on the Shopping server
- Must have NTFS security
- read and execute permissions on the Shopping program files installation folder
- full permissions to the Shopping log folders
- the above will be automatic if Shopping is installed using default locations on a default installation of Windows
- the above security permissions are particularly relevant if you use non-default installer properties INSTALLDIR or LOGPATH
- We recommend restricting the account with Deny logon locally
- Must be a member of the Shopping Configuration Manager Database Access (SHOPPINGCONSOLESMSUSERS) group. If the Shopping Central installer account has permissions to add accounts to this group, then it will automatically add the account to the group during installation.
- For AppClarity integration, must have integration services permission enabled from the AppClarity console
Shopping Receiver service account
If you use Shopping's ConfigMgr integration, you will need at least one Shopping Receiver.
Each Receiver needs a service account, which can be either a dedicated or shared domain user account or Network Service
We recommend restricting the account with Deny logon locally
The Receiver is installed on each ConfigMgr Site server, and the service account must have local admin rights on the Site server
at the very least it must have read access to the binaries, and full permissions to the Receiver log folders
if you upgrade the Shopping Receiver with a different service account, it must have
Must have permissions in the Configuration Manager Console and its SQL database, depending on the version of Configuration Manager, as described below in Microsoft System Center Configuration Manager.
Installation of Shopping Central requires details of the Receiver service account or an AD Security group containing Receiver service accounts, so that Receivers can access the Central web service:
- a shared service account can be used if all Receivers use the same account, and an AD group is not required
- a domain security group must be used if each Receiver has its own service account, or uses Network Service, which must be members of this group
- we recommend using a domain security group if other services need access to the Central web service, for example if Shopping API scripts are used by OSD Task Sequences, then the group should include the Configuration Manager Network Access account. This security group should be Universal, but can be global if only one domain is involved.
A key design decision is whether Shopping Receivers should use a single shared service account, individual service accounts, or Network Service. Either way, to allow new accounts to be added or existing accounts to be changed more easily, we recommend you include the Receiver accounts in an AD Security Group and use this group when granting access to each of the following:
Active Directory security groups
|AD security groups must be Universal if more than one trusted domain is involved, but can be Universal or Global if only one domain is involved. If your AD domain functional level is Windows 2000 server mixed mode then the AD security groups must be domain Global.|
Shopping Console Access groups
Three separate AD groups are required to enable access to the Shopping Admin Console and optionally support the Shopping Console node security feature.
- Shopping Full Database Admin Access (SHOPPINGCONSOLEADMINUSERS)
- Shopping Limited Database Admin Access (SHOPPINGCONSOLESMSUSERS)
- Shopping Configuration Manager Database Access (SHOPPINGCONSOLEUSERS)
|You cannot use the same group to serve all three roles, these must be handled using three separate groups. Any attempt to use the same group for more than one role will result in the installation failing with database errors and rolling back.|
The Shopping Console node security feature is enabled by default, but can be disabled in the Shopping Console settings panel. If the Shopping Admin Console Node Security feature is to be used, then the Shopping Full Database Admin Access (SHOPPINGCONSOLEADMINUSERS) group must have Modify permissions in Active Directory to manage membership of itself and the other two Shopping Access groups in the table below. You can permission each group, or permission an OU which contains the groups.
If the Shopping Console node security feature is not used, then the groups should have the following membership. The names in brackets are the Shopping Central installer properties, which are referenced elsewhere in this documentation.
|Shopping AD Group||Members||Member of||Notes|
Shopping Full Database Admin Access (SHOPPINGCONSOLEADMINUSERS)
Shopping Configuration Manager Database Access (SHOPPINGCONSOLESMSUSERS)
Shopping Limited Database Admin Access (SHOPPINGCONSOLEUSERS)
Shopping Administrator groups
These are accounts or groups that have administrator rights in the Shopping Admin Console and web portal.
In addition to the Shopping Access groups, you need three further role-based security groups. Shopping allows these groups to be to be specified as individual domain user accounts, but then you are restricted to only these users being administrators, and using the Shopping Admin Console Node Security to manage additional user accounts. If your organization prefers to manage access rights through AD or other identity managements system, then you should use groups and disable the Shopping Admin Console Node Security feature.
|Shopping AD Group||Members||Member of||Notes|
Shopping Administrators (ADMINACCOUNT)
Reporting Managers (REPORTSACCOUNT)
Licensing Managers (LICENSEMGRACCOUNT)
As Shopping makes extensive use of automated email processing, the accounts and groups must have email addresses defined in AD. Where groups are used, the member accounts must also have email addresses defined in AD.
When configuring an AD security group to have an email address, this does not mean it has to be changed to a Distribution group type; it must remain as a Security group type.
Shopping Receiver Account group
During a Shopping Central installation, you must provide details for a Receiver Account. Instead of specifying an account, we recommend you specify an AD Security group, which contains individual Receiver service accounts. See Shopping Receiver service account.
During a Shopping Central installation, you must provide details for an Active Directory Server. This can be an AD domain controller or an actual domain name. By default, Shopping performs AD queries using the global catalog, in which case you can specify the Active Directory Server as the domain name or nominate a domain controller server that is a global catalog server.
If the global catalog is not available or not required (for example, in a single domain environment) then select a domain controller with the primary domain controller (PDC) emulator FSMO role if it is well connected. The PDC emulator is the preferred domain controller because it manages account and group changes for the domain. If the PDC emulator role is transferred, then update the Active Directory Server setting in the Admin Console settings.
Groups and Organisation Units
Shopping does not support mixed domain AD Groups, i.e. AD Groups in one domain that contain AD users, computers or groups from another domain. To use AD Groups with Shopping, ensure that the Groups and the objects it contains belong to the same domain. Nested OUs, up to 5 levels deep, are supported but it does not support Groups within OUs.
Shopping supports implementations that span multiple domains. During installation, Shopping must be pointed at a Configuration Manager server which is used as its main contact. A Shopping Receiver must be installed on that server and on all other Configuration Manager site servers that Shopping interacts with. The Shopping Central and Shopping Receiver components may be installed on different domains but you must configure the DNS settings as follows:
- If the Shopping Central service and main Configuration Manager contact are hosted on different domains, you must ensure that the SMS Provider (returned by the Configuration Manager server used during installation) is resolved to the correct domain name before you install Shopping central. This can only be done if a DNS search suffix for the Configuration Manager domain is added to the TCP/IP stack for the Shopping Central server's network card.
- If the Shopping Central service and Shopping Receiver are hosted on different domains, add the DNS search suffix for the Receiver's domain to the TCP/IP stack for the Shopping Central server's network card. This must be done before users on the domain is serviced by that Shopping Receiver.
- DNS search suffixes are added on the DNS tab in the Advanced TCP/IP Settings for the IPv4 Properties of the Shopping Central server's network card.
The AD forests may be single or multi-domain. Multi-domain considerations are decribed in Multi-domain configurations.
For both trust types, Shopping components are installed as follows:
- On the AD forest where the Configuration Manager central site is located, install the following on the domain where the trust originates:
- Shopping Web and API, Central service, Shopping database, and Shopping Admin Console
- Shopping installation accounts
- On either AD forest, where appropriate, install the following on the accessible domains (shown in orange in the below diagrams):
- Shopping Receivers, clients, and end-user accounts (for example Shopping approvers)
Root-level forest trust
When a root-level forest trust is used, install Shopping Central (Web, API and service) on the root domain of the forest. This is the forest where the Configuration Manager site used by Shopping as its central site is located. In this scenario, all domains in the trusted forest is accessible, in addition to all the domains in the local forest.
When an external trust is used, install Shopping central on the domain where the external trust originates. This is the forest where the Configuration Manager site used by Shopping as its central site is located. Shopping supports external trusts where these exist one-level down from the forest root domain. In this scenario, only the external trusted domain is accessible, in addition to the domains in the local forest.
Restrictions on multi-forest environments
Though Shopping supports the dual-forest domain scenarios illustrated above, there are specific restrictions on the configuration of groups to be used with Shopping and certain implications associated with the way that the domain and trust relationships work with it.
- Groups must be uniform – they must only contain AD objects from the same domain and forest. All the contained users, machines or groups must be in the same domain and forest as the group itself. If you need to add objects from another domain or forest, add them to a group that belongs to that domain or forest.
- Shopping only supports security type groups – you can only use security type groups with Shopping but they may have any scope type.
- Installation domain and accounts – the domain specified during installation is set as the starting point for all AD searches. Any accounts used during installation must belong to that domain and associated forest. Node security users and groups added later using the Shopping Admin console must come from the same domain/forest specified during installation. All other AD groups used in Shopping may come from either forest.
- Trust relationship and type – Shopping supports two-way trusts where there is an up-level trust between the domains. Both domain controllers in the supported dual forest scenarios must be Windows 2000 server or above.
- Trusted domains must be configured correctly and the trusted domain exist – AD searches in Shopping is severely impacted if there is a trust relationship for a domain that no longer exists.
Shopping Website name
The Shopping Website is created under its own website using its own HTTP binding, it is not created under the default website. The Shopping Website binding uses a host header to differentiate its HTTP port from the default website. The host header is normally specified as the FQDN of the Shopping DNS Alias, which all users and computers accessing the Web Portal and Shopping API must use. Therefore choosing a suitable name for the DNS Alias is perhaps the most important design decision you will make.
Ensure that all clients using the Shopping system are able to correctly resolve the DNS Alias using their DNS lookup methods. This is typically why the FQDN of the DNS Alias is used.
In DNS, you can create a CNAME or Host (A) record. The example below uses a CNAME alias of SHOPPING for the host server ACME-SRV6.ACME.LOCAL which results in a host header FQDN of SHOPPING.ACME.LOCAL. In this case, the server's FQDN suffix is the same as the Alias FQDN's suffix, but they do not need to be the same.
When installing Shopping Central, the installer setting IISHOSTHEADER is used to configure the HTTP binding on the Shopping Website, and the Console settings for the Web URL and API URL. The Web URL setting is used in Shopping emails.
It is possible to manually add additional HTTP bindings to the Shopping Website. For example you can install using the server's DNS Alias FQDN, and then manually add a second HTTP binding for the DNS Alias without the suffix. This would allow users to access the Shopping Portal using either name.
Service Principal Names
Service Principal Names (SPN) are attributes of AD accounts. Servers and service accounts are able to automatically create and update their own SPNs if they have AD permissions. Normally server accounts have these permissions by default, therefore if a service is using Network Service built-in account, there is no need to create any SPN. However, user accounts typically do not have permission and you need to create or update the SPN manually using an account that does have the rights, such as a domain administrator account. You can create an SPN by editing the attribute directly in the AD service account object, or use the SetSPN utility. More information about SPNs can be found in Microsoft's knowledge base.
SPNs must exist for the HTTP host header for the following accounts:
- the account used for the Shopping application pool, which is normally the Network Service. (optionally: the Shopping Central service account)
The following is a example of how to create SPNs for the Shopping Central service account (assuming that the IIS application pools for Shopping have been configured to run as the Shopping Central service account, this is considered a non-typical configuration ).
setspn -s http/shopping ACME\svc_ShoppingCtrl setspn -s http/shopping.acme.local ACME\svc_ShoppingCtrl
The following is a example of how to create SPNs for the Shopping Central application pools. If the IIS application pools for Shopping use Network Service, then specify the server's machine account. (this would be the most common configuration)
setspn -s http/shopping ACME-SRV6 setspn -s http/shopping.acme.local ACME-SRV6
To determine if SPNs exist for the Shopping Central service account and Network Service on the server itself:
setspn -l svc_ShoppingCtrl setspn -l ACME-SRV6
More complex scenarios can be configured which requires in-depth knowledge of IIS, SPN and DNS configuration and are beyond the scope of this documentation.
You can use -a or -s with setspn. -s checks for an existing SPN before assigning a new one.
Shopping Central IIS configuration
The following roles, role services and features must be installed/enabled as a minimum. The Name column is the reference used in PowerShell commands.
In the case of .NET Framework features we refer to 4.X in the Display Name, as X may be different depending on the server OS. The PowerShell Name always uses 45 instead of the actual version.
The following roles, role services and features should be removed/disabled.
The following PowerShell commands can be used to install relevant IIS roles and features on Windows Server 2012 R2 and later, and record the server configuration in a file.
Do this even if IIS is already installed because it will ensure all the required features and roles are installed.
Installing when TLS 1.0 is disabled
SQL Server Native Client 11.0 is referenced in database connection strings as SQLNCLI11. It provides a suitable ODBC (OLE DB) driver that supports TLS 1.1/1.2 necessary for the MSI installer, and is not required for .NET Framework applications.
Also known as SQL Server 2012 Native Client you can download the installer (
sqlncli.msi) from the following link: https://www.microsoft.com/en-us/download/details.aspx?id=50402, and then install the Client Components feature. This version supports SQL Server 2012, 2014, 2016 and 2017.
You can confirm the driver is installed using the ODBC Data Sources utility, as shown opposite.
If TLS 1.0 is disabled and you attempt to install without SQL Server Native Client 11.0 then the installer will fail with
Error 27502. Could not connect to Microsoft SQL Server ... SSL Security error.
Remote Servers and Consoles need MSDTC configuration
- Installing a remote Shopping Admin Console
- SQL Server hosting the Shopping database
- Installing a remote Shopping Website with the Web Only option
- Ensure the Distributed Transaction Coordinator (MSDTC) service is enabled and running.
- Optionally use the registry import, which will set the values which you can then verify using the following steps.
- Start Component Services (comexp.msc) and expand Component Services → Computers → My Computer → Distributed Transaction Coordinator → Local DTC.
- Right-click on Local DTC and from the context menu, choose Properties.
- Select the Security tab and enable the following, leaving other settings as default.
- Network DTC Access
- Allow Remote Clients
- Allow Inbound
- Allow Outbound
- Mutual Authentication Required
- Enable XA Transactions
- Click OK – if any changes were made this will restart the MSDTC service.
- If you used the registry import, you will need to restart the MSDTC service.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC] "FallbackToUnsecureRPCIfNecessary"=dword:00000000 "AllowOnlySecureRpcCalls"=dword:00000001 "TurnOffRpcSecurity"=dword:00000000 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security] "NetworkDtcAccess"=dword:00000001 "NetworkDtcAccessClients"=dword:00000001 "NetworkDtcAccessAdmin"=dword:00000000 "NetworkDtcAccessInbound"=dword:00000001 "NetworkDtcAccessOutbound"=dword:00000001 "NetworkDtcAccessTransactions"=dword:00000001 "NetworkDtcAccessTip"=dword:00000000 "XaTransactions"=dword:00000001 "LuTransactions"=dword:00000000
Sizing and deployment considerations