ApplicationProfile.WindowsApplicationProfile [SPFSDK][VMROLE]

 

Applies To: Windows Azure Pack

The ApplicationProfile.WindowsApplicationProfile object provides settings to configure a Windows-based virtual machine when it is provisioned.

Type Hierarchy

ResourceExtension [SPFSDK][VMROLE].ExtensionSettings [SPFSDK][VMROLE].ApplicationProfile.WindowsApplicationProfile

Syntax

"ApplicationProfile": {

    ...

    "WindowsApplicationProfile": {
        "WindowsServerRolesAndFeatures": [
            "string",
            "string",
            "string",
            ...
        ],

        "SQLProfile": <SQLProfile>
        "ProvisioningScripts": [
            <Script>
        ],
        "WebDeployApplications": [
            <WebDeployApplication>
        ],

        "SQLDacApplications": [
             <SQLDacApplication>
        ],

        "ScriptApplications": [
              <ScriptApplication>
        ]
    }
}

Properties

Name

Type

Required

Default value

Description

WindowsServerRolesAndFeatures

Array of String

No

null

Windows Server roles and features to be installed. For a list of valid values, see Windows Server Roles and Features [SPFSDK][VMROLE].

SQLProfile

SQLProfile [SPFSDK][VMROLE]

No

null

Instructions for configuring an instance of SQL Server on the virtual machine by using sysprep.

ProvisioningScripts

Array of Script [SPFSDK][VMROLE]

No

null

Scripts that are run while the virtual machine is provisioned.

WebDeployApplications

Array of WebDeployApplication [SPFSDK][VMROLE]

No

null

Web deploy packages to be installed while the virtual machine is provisioned.

SQLDacApplications

Array of SQLDacApplication [SPFSDK][VMROLE]

No

null

SQL Server data-tier applicaitons (DACs) to be installed while the virtual machine is provisioned.

ScriptApplications

Array of ScriptApplication [SPFSDK][VMROLE]

No

null

Groupings of many scripts that is treated like an application to be installed while the virtual machine is provisioned.

Important

Only a single entry in the array is currently supported.

Remarks

The following code example provides a sample ApplicationProfile.WindowsApplicationProfile object.

"ApplicationProfile": {
    "Name": "ApplicationProfile1",

    "ApplicationPayload": [
        {
            "ID": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
            "RelativePath": "sharepointfiles"
        }
    ],

    "WindowsApplicationProfile": {
        "WindowsServerRolesAndFeatures": [
            "TFTP-Client"
        ],

        "SQLProfile": {
            "SQLDeployments": [
                {
                    "DeploymentName": "SQL Deployment 1",
                    "InstanceName": "[Param.SQLInstance]",
                    "InstanceID": "[Param.SQLInstance]",
                    "EnableNamedPipes": false,
                    "EnableTCP": true,
                    "MediaSource": "c:\\SQLMediaPath\\sqlsetup.exe",
                    "ProductKey": "abcdefghijklmnopqrstuvwxyz",
                    "SQLAuthenticationType": "WindowsAuthentication",
                    "SQLSysAdminMemberList": "domain\\user",
                    "DeploymentTimeOutInSeconds": 3600,
                    "SQLConfigurationPayloadId": "61A33949-46CE-4d0f-921F-A0059DA9AD1F",
                    "SAPassword": "MySAPassword",

                    "SQLDeploymentCredential": "domain\\user:password",
                    "SQLAgentServiceCredential": "NT AUTHORITY\\System:",
                    "SQLServiceCredential": "NT AUTHORITY\\NetworkService:",
                    "SQLReportingServiceCredential": "domain\\user:password"
                }
            ]
        },

        "ProvisioningScripts": [
            {
                "AlwaysReboot": false,
                "ApplicationPayloadId": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
                "DeploymentOrder": 1,
                "ErrorPolicy": "FailOnMatch",
                "ExecutableAndParams": {
                    "Executable": "cmd.exe",
                    "Parameters": "/q /c msiexec sharepoint.msi"
                },
                "ExitCodeRegex": "[1-9][0-9]*",
                "MaxOutputSize": 1048576,
                "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                "RestartOnRetry": false,
                "ScriptBlock": null,
                "ScriptCredential": "domain\\user:password",
                "ScriptType": "PreInstall",
                "StandardErrorPath": "c:\\err.txt",
                "StandardErrorRegex": ".+",
                "StandardInput": null,
                "StandardOutputPath": "c:\\out.txt",
                "StandardOutputRegex": null,
                "TimeoutInSeconds": 900,
                "WorkingDirectory": null
            }
        ],
        "WebDeployApplications": [
            {
                "DeploymentName": "WebDeploy App 1",

                "ScriptCommands": [
                    {
                        "AlwaysReboot": false,
                        "ApplicationPayloadId": "366819c2-bf11-4c85-9555- 6293e2a3ce7b",
                        "ErrorPolicy": "FailOnMatch",
                        "ExecutableAndParams": {
                            "Executable": "cmd.exe",
                            "Parameters": "/q /c installwebdeploy.cmd"
                        },
                        "ExitCodeRegex": "[1-9][0-9]*",
                        "MaxOutputSize": 1048576,
                        "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                        "RestartOnRetry": false,
                        "ScriptBlock": null,
                        "ScriptCredential": "domain\\user:password",
                        "ScriptType": "PreInstall",
                        "StandardErrorPath": "c:\\err.txt",
                        "StandardErrorRegex": ".+",
                        "StandardInput": null,
                        "StandardOutputPath": "c:\\out.txt",
                        "StandardOutputRegex": null,
                        "TimeoutInSeconds": 900,
                        "WorkingDirectory": null
                    }
                ],

                "DeploymentName": "Deployment1",
                "ApplicationPayloadId": "371ade4c-03a2-492d-9589-b399b940e44f",
                "PackagePassword": "mypassword2",
                "WebDeployParameters": [
                    {
                        "ParameterName": "CONNECTION_STRING",
                        "Value": "[Param.ConnectionString]"
                    }
                ]
            }
        ],

        "SQLDacApplications": [
            {
                "DeploymentName": "SQL App 1",

                "ScriptCommands": [
                    {
                        "AlwaysReboot": false,
                        "ApplicationPayloadId": null,
                        "ErrorPolicy": "FailOnMatch",
                        "ExecutableAndParams": null,
                        "ExitCodeRegex": "[1-9][0-9]*",
                        "MaxOutputSize": 1048576,
                        "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                        "RestartOnRetry": false,
                        "ScriptBlock": "rem some script that needs to run before sqldac package is installed",
                        "ScriptCredential": {
                            "Password": "mypassword4",
                            "UserName": "dcmanagerlab\\esdcvsec4"
                        },
                        "ScriptType": "PreInstall",
                        "StandardErrorPath": "c:\\err.txt",
                        "StandardErrorRegex": ".+",
                        "StandardInput": null,
                        "StandardOutputPath": "c:\\out.txt",
                        "StandardOutputRegex": null,
                        "TimeoutInSeconds": 900,
                        "WorkingDirectory": null
                    }
                ],

                "SQLScriptCommands": [
                    {
                        "DatabaseName": "[Param.SharepointDB]",
                        "DeploymentOrder": 1,
                        "EncryptConnection": false,
                        "ExecutionTimeoutSeconds": 500,
                        "LoginTimeoutSeconds": 50,
                        "OutputFilePath": "c:\\sharepointDB.sql.log",
                        "SQLAuthenticationType": "WindowsAuthentication",
                        "SQLScriptApplicationPayloadId": "db04416b-d0a8-44d5-b0ee-d5739378a98d",
                        "ScriptCredential": "[Param.SQLScriptCommandCredential]",
                        "ScriptType": "PostInstall"
                    }
                ],

                "DeploymentName": "Deployment1",
                "ApplicationPayloadId": "5b064b6a-d6d0-48f0-8979-9aafc676a9e5",
                "BlockOnChanges": false,
                "DacInstance": "[Param.SharepointDB]",
                "IgnoreDataLoss": false,
                "RollbackOnFailure": true,
                "SQLAuthenticationType": "WindowsAuthentication",

                "SQLDeploymentCredential": "[param.SQLDeploymentCredential]",

                "SQLInstance": "[Param.SQLInstance]",
                "SkipPolicyValidation": true,
                "UninstallMode": "DropDatabase"
            }
        ],

        "ScriptApplications": [
            {
                "DeploymentName": "ScriptDeployment1",

                "ScriptCommands": [
                    {
                        "AlwaysReboot": false,
                        "ApplicationPayloadId": "366819c2-bf11-4c85-9555- 6293e2a3ce7b",
                        "ErrorPolicy": "FailOnMatch",
                        "ExecutableAndParams": {
                            "Executable": "cmd.exe",
                            "Parameters": "/q /c installwebdeploy.cmd"
                        },
                        "ExitCodeRegex": "[1-9][0-9]*",
                        "MaxOutputSize": 1048576,
                        "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                        "RestartOnRetry": false,
                        "ScriptBlock": null,
                        "ScriptCredential": "domain\\user:mypassword",
                        "ScriptType": "PreInstall",
                        "StandardErrorPath": "c:\err.txt",
                        "StandardErrorRegex": ".+",
                        "StandardInput": null,
                        "StandardOutputPath": "c:\out.txt",
                        "StandardOutputRegex": null,
                        "TimeoutInSeconds": 900,
                        "WorkingDirectory": null
                    }
                ],

                "EnvironmentVariables": [
                    {
                        "Name": "envvar1",
                        "Value": "foo",
                    },
                    {
                        "Name": "envvar2",
                        "Value": "bar",
                    },
                ],

                "AlwaysReboot": false,
                "ApplicationPayloadId": "49c1ccdb-9068-4b91-9409-0a7ca8a1d291",
                "ErrorPolicy": "FailOnMatch",
                "ExecutableAndParams": {
                    "Executable": "cmd.exe",
                    "Parameters": "/q /c msiexec sharepoint.msi"
                },
                "ExitCodeRegex": "[1-9][0-9]*",
                "MaxOutputSize": 1048576,
                "RebootExitCodeRegex": "{1641}|{3010}|{3011}",
                "ScriptBlock": null,
                "ScriptCredential": "username:password",
                "StandardErrorPath": "c:\err.txt",
                "StandardErrorRegex": ".+",
                "StandardInput": null,
                "StandardOutputPath": "c:\out.txt",
                "StandardOutputRegex": null,
                "TimeoutInSeconds": 900,
                "WorkingDirectory": null
            }
        ]
    }
}

See Also

ExtensionSettings [SPFSDK][VMROLE]
SQLProfile [SPFSDK][VMROLE]
WebDeployApplication [SPFSDK][VMROLE]
SQLDacApplication [SPFSDK][VMROLE]
ScriptApplication [SPFSDK][VMROLE]
ApplicationProfile.LinuxApplicationProfile [SPFSDK][VMROLE]