Поделиться через


Массовое развертывание запечатанных компонентов самообслуживания Commerce

Важно

Часть или вся функциональность, описанная в этой статье, доступна в рамках предварительного выпуска. Содержимое и функциональность могут быть изменены. Дополнительные сведения о предварительных выпусках см. в разделе Вопросы и ответы по обновлениям службы с одной версией.

Предупреждение

После обновления Commerce Scale Unit (CSU) до версии 10.0.29 или более поздней версия POS-терминала (Modern POS or Store Commerce) должна быть 10.0.27 или более поздней (отображается в POS-терминале как версия 9.27). Это обусловлено миграцией в .NET Core.

Эта статья относится к запечатанной структуре, установщикам компонентов, которые выпускаются каждый месяц, начиная с выпуска 10.0.18 и которые доступны в библиотеке общих ресурсов в Microsoft Dynamics Lifecycle Services. Обратите внимание, что первые несколько выпусков этих установщиков обозначены как (Предварительная версия). Однако единственная цель этого обозначения — дифференцировать новые установщики, пока Microsoft определяет, существуют ли какие-либо дополнительные функциональные требования для их использования. Это не означает, что установщики не являются действительными для производства. Основываясь на выпуске этих новых установщиков, Microsoft планирует прекратить поддержку старых (устаревших) установщиков примерно в октябре 2023 года.

В этой статье объясняется, как использовать новые установщики для автоматической установки и обслуживания обновлений с помощью аргументов командной строки. Эти аргументы позволяют выполнить массовое развертывание несколькими различными способами.

Примечание

  • Запечатанные установщики самообслуживания не будут доступны в Commerce headquarters, их можно загрузить только через LCS.
  • Начиная с версии 10.0.32 Commerce, платформа .NET 6 должна использоваться в качестве необходимого условия для запечатанных компонентов самообслуживания.

Разделители для массового развертывания

В следующей таблице показаны разделители, которые могут использоваться при выполнении командной строки.

Разделитель Описание
-AadTokenIssuerPrefix Префикс издателя токена Microsoft Azure Active Directory (Azure AD).
-AsyncClientAadClientId Идентификатор клиента Azure AD, который должен использоваться асинхронным клиентом при обмене данными с центральным офисом.
-AsyncClientAppInsightsInstrumentationKey Ключ инструментирования AppInsights Async Client
-AsyncClientCertFullPath Полностью отформатированный путь URN, использующий отпечаток в качестве метрики поиска расположения сертификата асинхронной идентификации клиента, который следует использовать для проверки подлинности в Azure AD для связи с центральным офисом. Например, store://My/LocalMachine?FindByThumbprint=<MyThumbprint> является правильным форматом URN. Значение <MyThumbprint> будет заменено отпечатком сертификата, который должен использоваться. Этот параметр не следует использовать вместе с параметром -AsyncClientCertThumbprint
-AsyncClientCertThumbprint Отпечаток сертификата идентификатора Async Client, который должен использоваться для аутентификации с Azure AD для связи с центральным офисом. Этот отпечаток будет использоваться для поиска местонахождения и имени LocalMachine/My store, чтобы найти правильный сертификат для использования. Этот параметр не следует использовать вместе с параметром -AsyncClientCertFullPath.
-ClientAppInsightsInstrumentationKey Ключ инструментирования клиента AppInsights.
-CloudPosAppInsightsInstrumentationKey Ключ инструментирования Cloud POS AppInsights.
-Config Файл конфигурации, который должен использоваться во время установки. Примером имени файла является Contoso.CommerceScaleUnit.xml.
-CposAadClientId Идентификатор клиента Azure AD, который должен использоваться при активации устройства в Cloud POS. Этот параметр не является обязательным для локальных развертываний.
-Device Идентификатор устройства, как показано на странице Устройства в центральном офисе.
-EnvironmentId Идентификатор среды.
-HardwareStationAppInsightsInstrumentationKey Ключ инструментирования Hardware Station AppInsights.
--InPlaceUpgradeFromModernPOS Используется для обновления с Modern POS до Store Commerce. Если не используются никакие другие параметры, по умолчанию предполагается захват токена устройства Modern POS и последующее удаление Modern POS.
Установить Параметр, который указывает, должен ли быть установлен компонент, предоставляемый данным установщиком. Этот параметр требуется для выполнения установки и не имеет начального символа тире.
-InstallOffline Для современных POS этот параметр указывает, что необходимо также установить и настроить автономную базу данных. Используйте также параметр -SQLServerName . В противном случае установщик попытается найти экземпляр по умолчанию, отвечающий необходимым требованиям. При использовании проверки подлинности Azure Active Directory (Azure AD) автономный POS не будет работать, поскольку подключение к сети всегда необходимо.
-Port Порт, который должен быть связан и использоваться виртуальным каталогом сервера Retail Server. Если порт не задан, будет использоваться значение порта 443 по умолчанию.
-Register Идентификатор устройства, как показано на странице Регистры в центральном офисе.
-RetailServerAadClientId Идентификатор клиента Azure AD, который должен использоваться сервером Retail Server при обмене данными с центральным офисом.
-RetailServerAadResourceId Идентификатор ресурса приложения Retail Server Azure AD, который должен использоваться при активации устройства. Этот параметр не является обязательным для локальных развертываний.
-RetailServerCertFullPath Полностью отформатированный путь URN, использующий отпечаток в качестве метрики сертификата идентификации сервера Retail Server, который следует использовать для проверки подлинности в Azure AD для связи с центральным офисом. Например, store://My/LocalMachine?FindByThumbprint=<MyThumbprint> является правильным форматом URN, где значение <MyThumbprint> будет заменено отпечатком сертификата, который следует использовать. Этот параметр не следует использовать вместе с параметром -RetailServerCertThumbprint
-RetailServerCertThumbprint Отпечаток сертификата идентификатора Retail Server, который должен использоваться для аутентификации с Azure AD для связи с центральным офисом. Этот отпечаток будет использоваться для поиска местонахождения и имени хранилища LocalMachine/My store, чтобы найти правильный сертификат для использования. Этот параметр не следует использовать вместе с параметром -RetailServerCertFullPath.
-RetailServerURL URL-адрес сервера Retail Server, который должен использоваться установщиком (Этот URL-адрес называется также Commerce Scale Unit [CSU] URL.). В случае терминала Modern POS это значение будет использоваться при активации устройства.
-SkipAadCredentialsCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для учетных данных Azure AD. Значение по умолчанию равно false.
-SkipCertCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для сертификата. Значение по умолчанию равно false.
--SkipEnhancedModernPOSUpgradeValidation Переключатель, позволяющий пропустить стандартные проверки, выполняемые перед выполнением захвата токена устройства из Modern POS. Этот флаг должен использоваться только в тестовых средах и не должен использоваться в производстве.
-SkipIisCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для Internet Information Services (IIS). Значение по умолчанию равно false.
-SkipNetFrameworkCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для .NET Framework. Значение по умолчанию равно false.
-SkipScaleUnitHealthcheck Переключатель, который указывает, следует ли пропустить проверку работоспособности установленных компонентов. Значение по умолчанию равно false.
-SkipSChannelCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для .безопасного канала. Значение по умолчанию равно false.
-SkipSqlFullTextCheck Переключатель, который указывает на необходимость пропуска проверки требуемого компонента для SQL Server, требующего полнотекстового поиска Значение по умолчанию равно false.
-SkipSqlServerCheck Переключатель, который указывает, следует ли пропускать проверки требуемого компонента для SQL Server. Значение по умолчанию равно false.
--SkipUninstallModernPOSAfterUpgrade Переключатель, позволяющий пропустить удаление Modern POS после выполнения обновления до Store Commerce и захвата токена устройства с помощью Modern POS.
-SqlServerName Имя SQL Server. Если имя не указано, установщик попытается найти экземпляр по умолчанию.
-SslcertFullPath Полный отформатированный путь URN, использующий отпечаток в качестве показателя поиска местоположения сертификата, который должен использоваться для шифрования HTTP-трафика в единицу масштабирования. Например, store:\/\/My\/LocalMachine\?FindByThumbprint\=\<MyThumbprint\> является правильным форматом URN, где значение <MyThumbprint> будет заменено отпечатком сертификата, который следует использовать. Этот параметр не следует использовать вместе с параметром -SslCertThumbprint.
-SslCertThumbprint Отпечаток сертификата, который должен использоваться для шифрования трафика HTTP в единицу масштабирования. Этот отпечаток будет использоваться для поиска местонахождения и имени LocalMachine/My store, чтобы найти правильный сертификат для использования. Этот параметр не следует использовать вместе с параметром -SslCertFullPath.
-StoreSystemAosUrl URL-адреса центрального офиса
-StoreSystemChannelDatabaseId Идентификатор базы данных канала (имя).
-TenantId Идентификатор клиента Azure AD.
-TransactionServiceAzureAuthority Центр Transaction Service Azure AD.
-TransactionServiceAzureResource Ресурс Transaction Service Azure AD.
-TrustSqlServerCertificate Переключатель, который указывает, следует ли доверять сертификату сервера во время установки подключения к SQL Server. Чтобы избежать угроз безопасности, производственные развертывания никогда не должны поставлять значение true здесь Значение по умолчанию равно false.
--UseCommonApplicationData Переключатель для изменения местонахождения токена устройства. В отличие от контекста пользователя, токен сохраняется в общедоступном месте, что позволяет всем пользователям Windows иметь доступ к одному и тому же токену, обеспечивая возможность использовать Store Commerce независимо от активного пользователя. Пользователи по-прежнему должны быть в группе RetailChannelUsers.
-Verbosity Уровень ведения журнала, запрашиваемого во время установки. Обычно это значение не должно использоваться.
-WindowsPhoneAppInsightsInstrumentationKey Ключ инструментирования Hardware Station AppInsights.

Общий обзор

Новая структура для установщиков самообслуживания имеет различные функции и усовершенствования. Новая структура в настоящее время создает установщики только для современных POS, аппаратных станций и CSU (самостоятельных). Важно понимать принципы использования основных командных строк для запечатанных установщиков, которые должны выглядеть аналогично использованию в следующем примере.

<Component Installer Name>.exe install --<Parameter Name> "<Parameter Information>"

Для установки установщику требуется параметр установить (или удалить, чтобы удалить установку) и любые параметры, связанные с этой установкой. Имя параметра должно включать любые необходимые параметры, такие как регистр, URL-адрес CSU или сертификат. Сведения о параметрах должны включать любые дополнительные сведения о параметрах.

Созданная запечатанная структура позволяет выполнить следующие изменения:

  • Запечатанные — новая структура установщика полностью отделяет распространяемые Microsoft установщики базовых компонентов от настроек на основе расширяемости. Настройки будут установлены позже, но затем не будут привязаны к обновлениям (так что обновления будут разрешены только для базового компонента Microsoft, только для настроек или для обоих).
  • GUI-less — больше нету пользовательского интерфейса (UI). Вместо этого для каждого установщика компонентов создается исполняемый файл, управляемый командной строкой. Это изменение является одним из нескольких ключевых изменений или функций, которые используются для того, чтобы сфокусировать новую структуру установщика на использовании при массовом развертывании.
  • Более глубокое ведение журнала — расширенные журналы установщика позволяют лучше проверять завершение или сбой установки, выполненные шаги и любые сгенерированные предупреждения или ошибки.
  • Очистка — в новой среде установщики компонентов прилагают больше усилий для поддержания чистоты каталогов установки, очищая все содержимое папки компонентов перед установкой более новых компонентов. Эта очистка гарантирует отсутствие оставшихся файлов, которые могут вызвать проблемы и помешать успешной установке.

Три компонента не были перенесены в новую платформу: симулятор виртуального периферийного устройства, Async Server Connector Service (используется для поддержки Dynamics AX 2012 R3) и замена службы в реальном времени (используется для поддержки Dynamics AX 2012 R3).

Примечание

Установщики хранятся локально и в сохраненном виде. Это важно, со временем, для управления и удаления сохраненных установщиков, чтобы не тратить дисковое пространство. Рекомендуется сохранить текущий установщик для базовых компонентов и все установщики расширений для последних версий для целей восстановления из экстремальных случаев.

Миграция

Миграция со старых установщиков компонентов платформы самообслуживания на новые установщики компонентов платформы требует удаления старых компонентов.

  • Современный POS — новая структура установщика привела к тому, что приложение получило новый идентификатор подписи приложения. Поэтому перед установкой нового компонента Modern POS требуется полное удаление старых компонентов Из-за необходимости полной деинсталляции снова потребуется активация устройства. (Эта повторная активация устройства требуется один раз, при условии, что удаление не произойдет снова.)
  • Аппаратная станция — в качестве веб-сайта IIS новая структура установщика требует переделки базовой структуры папок. Поэтому перед установкой нового компонента аппаратной станции структуры требуется полное удаление старых компонентов
  • Commerce Scale Unit (CSU, self-hosted) — как и серия веб-сайтов IIS, новая структура установщика требует переделки базовой структуры папок. Поэтому перед установкой нового компонента CSU структуры требуется полное удаление старых компонентов

Modern POS

Перед началом

Важно удалить старый компонент самообслуживания (Modern POS) самостоятельно. Дополнительные сведения см. в этапах миграции ранее в этой статье. В качестве дополнительного требования, используемый экземпляр SQL должен иметь режимы Проверка подлинности Windows и Проверка подлинности SQL Server. Управлять этой конфигурацией и изменять ее можно в подразделе Безопасность в окне Свойства в SQL Server Management Studio.

Примечание

В системе с одним компьютером, например в топологии разработчика или в демонстрационной среде, или если Commerce Scale Unit и Modern POS установлены на одном и том же компьютере, возможно, что Store Commerce не сможет выполнить активацию устройства. Эта проблема возникает в связи с тем, что Store Commerce не удастся выполнить сетевые вызовы на один и тот же компьютер (то есть, вызовы самого себя). Хотя этот сценарий никогда не должен быть сценарием в производственных условиях, эту проблему можно уменьшить, включив исключение замыкания на себя контейнера AppContainer, чтобы связь с тем же самым компьютером была возможна. В свободном доступе имеются различные приложения, которые помогут включить такое замыкание на себя. Дополнительные сведения о замыкании на себя см. в разделе Как включить замыкание на себя и устранять неполадки сетевой изоляции. Важно понимать, что замыкание на себя может представлять угрозу безопасности, поэтому не рекомендуется использовать замыкание на себя, если нет абсолютной необходимости.

Примеры автоматического развертывания

В этом разделе приводятся примеры команд, используемых для установки современных POS.

Автоматическая установка Modern POS

Следующая команда автоматически устанавливает (обновляет) Modern POS. Он имеет стандартную структуру команд, которая используется для автоматического обслуживания установленных компонентов. В структуре используются основные значения <InstallerName>.exe.

Следующая базовая команда демонстрирует доступные параметры, если требуется установка. Настоятельно рекомендуется использовать эту команду при первом тестировании или использовании установщика.

CommerceModernPOS.exe help install

Примечание

Файл конфигурации не требуется для Modern POS. У установщика теперь есть параметры (показаны ранее в этой статье) для различных значений, которые используются во время активации устройства.

Следующая команда указывает все параметры, которые следует использовать при активации устройства после установки приложения Modern POS. В этом примере используется регистр Houston-3, который является часто используемым значением в демонстрационных данных Dynamics 365 Commerce.

CommerceModernPOS.exe install --Register "Houston-3" --Device "Houston-3" --RetailServerURL "https://MyDynamics365CommerceURL.dynamics.com/Commerce"

Следующая команда указывает параметры, которые следует использовать для установки и настройки автономной базы данных. SQL Server указывается вместе с файлом конфигурации, который должен использоваться. Если не используется доверенный сертификат SQL, параметр --TrustSqlServerCertificate является обязательным. Не рекомендуется пропускать проверки при установке в производственной среде.

CommerceModernPOS.exe install -InstallOffline -SQLServerName "SQLExpress" -Config "ModernPOS.Houston-3.xml" 

Следующая команда указывает параметры, которые следует использовать для перехода с Modern POS на Store Commerce (с автономной базой данных). Эти параметры захватывают токен устройства, используемый в Modern POS (исключая необходимость в ручной активации устройства), а затем удаляют Modern POS. SQL Server указывается вместе с файлом конфигурации, который должен использоваться.

CommerceModernPOS.exe install -InstallOffline -SQLServerName "SQLExpress" --InPlaceUpgradeFromModernPOS

Эти концепции можно сочетать и сопоставлять для достижения желаемых результатов установки.

Станция оборудования

Перед началом

Важно удалить старый компонент аппаратной станции самообслуживания. Дополнительные сведения см. в этапах миграции ранее в этой статье. Больше не существует инструмента сведений о счете продавца. Вместо этого информация об учетной записи продавца устанавливается при сопряжении POS-терминала с аппаратной станцией. При первом тестировании этого установщика настоятельно рекомендуется выполнить следующую команду:

CommerceHardwareStation.exe help install

Примеры автоматического развертывания

В этом разделе приводятся примеры команд, используемых для установки аппаратных станций.

Автоматически установите аппаратную станцию

Следующая команда автоматически устанавливает (обновляет) аппаратную станцию Он имеет стандартную структуру команд, которая используется для обслуживания установленных компонентов. В структуре используются основные значения <InstallerName>.exe.

Следующая базовая команда запускает установщик исполняемого файла.

HardwareStation.exe install --Port 443 --CSUURL "https://MyDynamics365CommerceURL.dynamics.com/" --StoreSystemChannelDatabaseID "Houston" --CertThumbprint "MySSLCertificateThumbprintOftenHasNumbers"

Примечание

Файл конфигурации не требуется для аппаратной станции. Установщик теперь имеет параметры (показаны ранее в этой статье) для различных требуемых значений.

Следующая команда задает все параметры, необходимые для пропуска проверок предварительных требований во время стандартной установки.

Примечание

Пропускать проверки не рекомендуется без предварительного тщательного тестирования или за исключением ситуаций разработки. Не рекомендуется пропускать проверки при установке в производственной среде.

HardwareStation.exe install --SkipFirewallUpdate --SkipOPOSCheck --SkipVersionCheck --SkipURLCheck --Config "HardwareStation.Houston.xml"

Как обычно, эти концепции часто смешивают и сопоставляют для достижения желаемых результатов установки.

Commerce Scale Unit (резидентное размещение)

При первом тестировании этого установщика настоятельно рекомендуется выполнить следующую команду:

CommerceStoreScaleUnitSetup.exe help install

Перед началом

Важно удалить старый компонент самообслуживания (автономно). Дополнительные сведения см. в этапах миграции ранее в этой статье.

Примеры автоматического развертывания

В этом разделе приводятся примеры команд, используемых для установки современных CSU (автономно).

Автоматическая установка CSU (автономно)

Следующая команда автоматически устанавливает (обновляет) Modern CSU. Он имеет стандартную структуру команд, которая используется для автоматического обслуживания установленных компонентов. В структуре используются основные значения <InstallerName>.exe.

В сравнении с другими установщиками самообслуживания, Commerce Scale Unit (CSU) более сложна и требует достаточно большого объема дополнительной информации. Следующая команда представляет собой минимальную команду (параметры), необходимую для выполнения установщика исполняемого файла, когда файл конфигурации отсутствует Если не используется доверенный сертификат SQL, параметр --TrustSqlServerCertificate является обязательным.

CommerceScaleUnit.exe install --port 446 --SSLCertThumbprint "MySSLCertificateThumbprintOftenHasNumbers" --RetailServerCertFullPath "store://My/LocalMachine?FindByThumbprint=MyCertificateThumbprintUsedByRetailServer" --AsyncClientAADClientID "MyAAD-Client-IDFor-AsyncClient" --RetailServerAADClientID "MyAAD-Client-IDFor-RetailServer" --CPOSAADClientID "MyAAD-Client-IDFor-CloudPOS" --RetailServerAADResourceID "https://retailstorescaleunit.retailserver.com" --Config "Contoso.StoreSystemSetup.xml"

Примечание

Файл конфигурации все еще необходим для CSU (автономно).

Следующая команда является более тщательной командой, запускающей установщик исполняемого файла с некоторыми альтернативными параметрами. Если не используется доверенный сертификат SQL, параметр --TrustSqlServerCertificate является обязательным.

CommerceScaleUnit.exe install --Port 446 --SSLCertFullPath "store://My/LocalMachine?FindByThumbprint=MySSLCertificateThumbprintOftenHasNumbers" --AsyncClientCertFullPath "store://My/LocalMachine?FindByThumbprint=MySSLCertificateThumbprintOftenHasNumbers" --RetailServerCertFullPath "store://My/LocalMachine?FindByThumbprint=MyCertificateThumbprintUsedByRetailServer" --AsyncClientAADClientID "MyAAD-Client-IDFor-AsyncClient" --RetailServerAADClientID "MyAAD-Client-IDFor-RetailServer" --CPOSAADClientID "MyAAD-Client-IDFor-CloudPOS" --RetailServerAADResourceID "https://retailstorescaleunit.retailserver.com" --Verbosity 0 --Config "Contoso.StoreSystemSetup.xml"

Следующая команда задает все параметры, необходимые для пропуска проверок предварительных требований во время стандартной установки.

Примечание

  • Пропускать проверки не рекомендуется без предварительного тщательного тестирования или за исключением ситуаций разработки. Не рекомендуется пропускать проверки при установке в производственной среде.
  • Если не используется доверенный сертификат SQL, параметр --TrustSqlServerCertificate является обязательным.
CommerceScaleUnit.exe install --skipscaleunithealthcheck --skipcertcheck --skipaadcredentialscheck --skipschannelcheck --skipiischeck --skipnetcorebundlecheck --skipsqlservercheck --skipnetframeworkcheck --skipversioncheck --skipurlcheck --Config "Contoso.StoreSystemSetup.xml" --SSLCertFullPath "store://My/LocalMachine?FindByThumbprint=MySSLCertificateThumbprintOftenHasNumbers" --AsyncClientCertFullPath "store://My/LocalMachine?FindByThumbprint=MySSLCertificateThumbprintOftenHasNumbers" --RetailServerCertFullPath "store://My/LocalMachine?FindByThumbprint=MyCertificateThumbprintUsedByRetailServer" --AsyncClientAADClientID "MyAAD-Client-IDFor-AsyncClient" --RetailServerAADClientID "MyAAD-Client-IDFor-RetailServer" --CPOSAADClientID "MyAAD-Client-IDFor-CloudPOS" --RetailServerAADResourceID "https://retailstorescaleunit.retailserver.com"

Эти концепции можно сочетать и сопоставлять для достижения желаемых результатов установки.