com3:ServiceServer

将 COM 服务器 (注册到一个或多个类注册,) 托管在 Windows 服务中,使用相应的 desktop6:Service 元素声明。

元素层次结构

<包>

    <应用程序>

         <应用程序>

              <扩展>

                   <com2:Extension>

                        <com2:ComServer>

                             <com3:ServiceServer>

语法

<com3:ServiceServer
    ServiceName = 'A string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    Arguments = 'A string with a value between 1 and 32767 characters in length with a non-whitespace character at its beginning and end.'
    DisplayName = 'An optional string with a value between 1 and 256 characters in length. This string is localizable.'
    LaunchAndActivationPermission = 'An optional [SDDL string](/windows/win32/secauthz/security-descriptor-string-format) value.' >

  <!-- Child elements -->
  com3:Class{1,10000}

</com3ServiceServer>

密钥

{} 特定出现次数范围

特性和元素

属性

属性 说明 数据类型 必须 默认值
ServiceName 承载 COM 服务器的 Windows 服务的名称。 此服务名称必须与包清单中同一应用程序级 Extensions 元素中相应的 desktop6:Service 元素的名称匹配。 值长度介于 1 到 32767 个字符之间的字符串,开头和结尾处有一个非空格字符。
参数 服务的命令行参数。 值长度介于 1 到 32767 个字符之间的字符串,开头和结尾处有一个非空格字符。
DisplayName 对应于默认 AppID 密钥值的可本地化字符串。 值长度介于 1 到 256 个字符之间的可选字符串。
LaunchAndActivationPermission 与 AppID 密钥的 LaunchPermission 值相对应的 SDDL 字符串 可选的 SDDL 字符串 值。

子元素

子元素 描述
com3:Class 定义 COM 服务器的类注册。

父元素

父元素 描述
com2:ComServer 声明 windows.comServer 类型的包扩展点。 comServer 扩展可能包括以下类型的注册:ServiceServerExeServerSurrogateServerProgIdTreatAsClass

注解

ServiceServer 可以有一个或多个类注册。 如果多个类注册的 LocalService 密钥匹配且具有相同的 AppID (,或者它们没有 AppID) ,除非它们需要在不同的应用程序/应用程序清单元素下注册,否则应共享 ServiceServer

示例

<?xml version="1.0" encoding="utf-8"?>
<Package IgnorableNamespaces="uap com com2 com3 desktop6"
         xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6"
         xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
         xmlns:com2="http://schemas.microsoft.com/appx/manifest/com/windows10/2"
         xmlns:com3="http://schemas.microsoft.com/appx/manifest/com/windows10/3">
...
    <Applications>
        <Application ...>
            <Extensions>
                <desktop6:Extension Category="windows.service" Executable="ContosoPackagedService.exe" EntryPoint="packagedServiceComServer.service">
                    <desktop6:Service Name="examplePackagedServiceComServer" StartupType="manual" StartAccount="localService" /> 
                </desktop6:Extension>
                <com2:Extension Category="windows.comServer">
                    <com2:ComServer>
                        <com3:ServiceServer ServiceName="examplePackagedServiceComServer" DisplayName="ServicePackage public service server" 
                            LaunchAndActivationPermission="O:SYG:SYD:(A;;11;;;WD)(A;;11;;;RC)(A;;11;;;AC)(A;;11;;;AN)S:P(ML;;NX;;;S-1-16-0)">
                            <com3:Class Id="1BB09D24-6A0F-4C1F-BCB5-FB924324B2F5" DisplayName="CLSID_ContosoPublicServiceNoHandler"/>
                        </com3:ServiceServer>
                        <com3:TreatAsClass Id="2DAA3C97-F340-4C0E-B23C-92338974C5E9" DisplayName="CLSID_ContosoPublicServiceTreatAs" 
                            TreatAs="1BB09D24-6A0F-4C1F-BCB5-FB924324B2F5"/>
                        <com3:ProgId Id="ContosoPublicServiceNoHandler" Clsid="1BB09D24-6A0F-4C1F-BCB5-FB924324B2F5"/>
                        <com3:ProgId Id="ContosoPublicServiceNoHandler.1" CurrentVersion="ContosoPublicServiceNoHandler"/>
                    </com2:ComServer>
                </com2:Extension>
            </Extensions>
        </Application>
    </Applications>
</Package>

要求

Namespace http://schemas.microsoft.com/appx/manifest/com/windows10/3
Minimum OS Version Windows 10版本 2004 (内部版本 19041)