Here are a few notes from my recent install of the App-V 5 Server install.
Check out the Management Server Prereqs to ensure you’ve got everything covered
The following Powershell command line will install the Web Server with IIS role enabled and the relevant features:
dism /online /enable-feature /featurename:IIS-WebServer /featurename:IIS-WebServerRole /featurename:IIS-WindowsAuthentication /featurename:IIS-ISAPIFilter /featurename:IIS-ISAPIExtensions /featurename:IIS-RequestFiltering /featurename:IIS-NetFxExtensibility /featurename:IIS-ASPNET /featurename:IIS-ApplicationDevelopment /featurename:IIS-DefaultDocument /featurename:IIS-StaticContent /featurename:IIS-ASPNET /featurename:IIS-WebServerManagementTools /featurename:IIS-ManagementConsole
If you installed .NET Framework 4 before installing IIS, then ASP.NET 4 must be registered with IIS. Run the following command line
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -r
If you’re using a database that is located on a different machine you’ll want to use the scripts provided to create and setup the tables.
You can extract the scripts by running the following command:
appv_server_setup.exe /LAYOUT /LAYOUTDIR=”ExtractionLocation”
You’ll then have two directories, one for the Management Database and one for the Reporting Database. A little editing is required before running the scripts.
In each folder there is a Database.sql file which needs editing to set the database name. You can use the default, just remove the [ ] from around AppvManagement and AppVReporting
The permissions.sql file in each directory also needs editing. You’ll need to enter the account or group for read/write access to the databases. The account must be entered in Hex format. Use the following to generate the correct values:
# Usage
# script.ps1 “DOMAIN\Account”param ( [string]$UserAccountString )
$objUser = New-Object System.Security.Principal.NTAccount($UserAccountString)
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$SidString = $strSID.Value
# Create SID .NET object using SID string provided
$sid = New-Object system.Security.Principal.SecurityIdentifier $sidstring# Create a byte array of the proper length
$sidBytes = New-Object byte[] $sid.BinaryLength#Convert to bytes
$sid.GetBinaryForm( $sidBytes, 0 )# Iterate through bytes, converting each to the hexidecimal equivalent
$hexArr = $sidBytes | ForEach-Object { $_.ToString(“X2″) }# Join the hex array into a single string for output
$hexArr -join ”
Run the script with the account or group name as a parameter. You may need to tweak your Execution Policy level if you’ve not really run Powershell scripts before (Set-ExecutionPolicy Unrestricted – google for more info)
That will generate the hex that needs to be entered in Permissions.sql in place of
[ManagementDbPublicAccessAccountSid] and [ManagementDbPublicAccessAccountName]
When finishing the install if you get the message “You do not have access to this information. Please check your credentials.” from the App-V console, give the machine a reboot and try again.
Credits
Powershell Code #1: http://poshcode.org/3763
Powershell Code #2: http://technet.microsoft.com/en-us/library/ff730940.aspx