Feeds:
Posts
Comments

Sometimes when you are trying to access the sequenced application from the file share, you might get the below error message:

 

clip_image002

To get rid of the above error message, follow the below steps:

  1. Go to Run prompt and type “Regedit”. Press Enter.
  2. Registry editor will open. Go to the location HKLM\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Configuration and set the value of the key “AllowIndependentFileStreaming" to 1 as shown below:          

image 

            The default value is 0.

Many times, we need to check if particular service is running or not on some particular server. Then we need to log into that server to check it.

To simplify it, I wrote a VBScript that will get the information for you from that server without login to the server.

Important NOTE: To get the service information, you need to run this VBScript with the account that has admin rights on the server for which you need the service information.

VBScript will point to below screen: Enter server name and click Ok.

clip_image002

It will create Service_Info.txt at the root location from where you are running the script.

Format of output log file:

Service Name::- Application Experience Lookup Service

Description::- Processes application compatibility lookup requests for applications as they are launched.

Status::- Running

Startup Type ::- Auto

Log on as ::- LocalSystem

VBScript Content:

'##############################################################
'#
'# Language     VBscript
'#
'# Author       Mohd Aslam
'# Date         28.06.2011
'# Description  This script does following actions:
'#              1) it asks user to input the name of server
'#                 whose service info you want
'#              2) It then creates Service_Info.txt file in
'#                 the directory of the script file.
'#
'#############################################################

Dim oFSO              'File Scripting Object
Dim sScriptLog        'output log filename
Dim oScriptLog        'Script output file object
Dim oWshShell         'Windows Scripting Shell object

sScriptLog =    ".\Service_Info.txt"

Set oWshShell = WScript.CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

Set oScriptLog =  oFSO.CreateTextFile (sScriptLog,True)
oScriptLog.Close()
Set oScriptLog = oFSO.OpenTextFile(sScriptLog,8)

InputServerName = InputBox("Enter the name of server whose service information you want:","Service Information")

strComputer = InputServerName
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colRunningServices = objWMIService.ExecQuery _
    ("Select * from Win32_Service")

For Each objService in colRunningServices
     oScriptLog.WriteLine "Service Name::- " & objService.DisplayName  & VbCrLf
     oScriptLog.WriteLine "Description::- " & objService.Description  & VbCrLf
     oScriptLog.WriteLine "Status::- " & objService.State & VbCrLf
     oScriptLog.WriteLine "Startup Type ::- " & objService.startmode & VbCrLf
     oScriptLog.WriteLine "Log on as ::- " & objService.startname & VbCrLf
     oScriptLog.WriteLine "-------------------------------------------" & VbCrLf
Next

                               –End of Article–

Purpose:

To publish application sequenced package created using Microsoft App-V 4.6 SP1 into Citrix XenApp 6. I have used the sequenced package for WinZip as a publish candidate for this article.

Pre-requisite:

Following are the prerequisites for publishing application sequenced package created using Microsoft App-V 4.6 SP1 into Citrix XenApp 6:

  1. App-V client for remote desktop services SP1 {included in the download “Application Virtualization 4.6 for Remote Desktop Services Service Pack 1 (x86) – CD (Multiple Languages)” from MSDN site http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx}
  2. Sequenced package for WinZip created using Microsoft App-V 4.6 SP1 sequencer in some shared location.
  3. Citrix App-V Integration Kit. (Download: http://citrix.com/English/ss/downloads/details.asp?downloadId=2310183&productId=1689163&ntref=clientcenter#top ) Save the unzipped contents locally and use them to deliver the App-V sequences to users. Create a folder “AppVConduit” in the shared location where App-V packages will be copied. Save the unzipped contents to this “AppVConduit” folder. The folder contains a pre-created AppStreamingToAppVConduit.profile file, as well as the required support files for the profile. This single profile can be used to publish an unlimited number of App-V sequences.

Solution:

First step is to install pre-requisite 1 {App-V client for remote desktop services SP1} in XenApp 6 environment.

Copy the sequenced package to some pre-defined share location if it is not already copied there. After copying the sequenced package, open the OSD file to edit it. Edit the following line in the OSD file for the parameter HREF: {Do this step if you are using shared location to stream the application. If you are using streaming server or App-V infrastructure, modify OSD file accordingly.}

<CODEBASE HREF=”\\ServerName\WinZip\Winzip.sft” GUID=”D81A77E4-9134-4607-B900-224AA5286D16″ PARAMETERS=”" FILENAME=”WinZip\WINZIP32.EXE” SYSGUARDFILE=”WinZip\osguard.cp” SIZE=”40241038″/>

Keep the default value of other parameters.

Next step is to publish it in XenApp 6 environment. Below are the steps:

  1. Welcome screen: Click Next clip_image002
  2. Enter the text “Winzip” to the Display name and application description textbox. Click Next.clip_image002[5]
  3. Select the radio button for “Application” and application type as “Streamed if possible, otherwise accessed from a server”. From Server application type dropdown list, select “installed application”. Click Nextclip_image002[7]
  4. Browse to the App-V integration kit {AppStreamingToAppVConduit.profile}. It will select the “AppStreamingToAppVConduit” application in the dropdown for Application to launch. Put the location of OSD file in the textbox for “extra command line parameter”. Click Next.image
  5. Keep the default option and click Next. clip_image002[9]
  6. Location screen: Input the following information:            Command line: “C:\\Program Files\Microsoft Application Virtualization Client\sfttray.exe” “\\AppVServer\AppVPackages\WinZip\WinZip 25.0.9468.0.osd”.  Working directory: “C:\\Program Files\Microsoft Application Virtualization Client”. Click Nextimage
  7. Server screen: Add the list of server/s, where you need to run the publish application.
  8. Users screen: Add the list of users who will have rights on the published application.
  9. Shortcut presentation screen: You need to select the application icon manually. Click on “Change icon…” button. Following screen will appear: Select the radio button for “Choose an icon from a locally browsed file and browse the icon file. image
  10. Select the icon file and click Open.clip_image002[11]
  11. Following screen will appear. Select the required icon. Click Ok.clip_image002[13]
  12. Enter Client application Folder. Click Nextclip_image002[15]
  13. Published immediately screen: Click finish to finish the publishing of App-V sequenced package.

Quick Test:

Open the command window in XenApp and write the command

“c:\Program Files (x86)\Microsoft Application Virtualization Client\sfttray.
exe” “\\server\AppVPackages\WinZip\WinZip.sft”

image
Note: Path of sfttray.exe will depend on the 64 bit or 32 bit OS.

It should launch the application successfully.

image

Logic in Conduit utility (profiled application) provided by Citrix:

It checks if the user device does supports application streaming by checking if it has App-V client installed. If App-V client is installed, XenApp streams virtualized application to the users device. If it is not able to find the App-V client installed like in MAC, then it streams it to XenApp server and then deliver it to users as normal XenApp published application. In anyway, user will be able to get the required virtualized application. It is shown in the below diagram:

image

Citrix has provided source code of Conduit utility so if we need to modify it for our needs, we can do it.

—End of Article—

Purpose:

To publish application sequenced package created using Microsoft App-V 4.6 SP1 into Citrix XenApp 4.5. I have used the sequenced package for WinZip as a publish candidate for this article.

Pre-requisite:

Following are the prerequisites for publishing application sequenced package created using Microsoft App-V 4.6 SP1 into Citrix XenApp 4.5:

  1. App-V client for remote desktop services SP1 {included in the download “Application Virtualization 4.6 for Remote Desktop Services Service Pack 1 (x86) – CD (Multiple Languages)” from MSDN site http://msdn.microsoft.com/en-us/subscriptions/downloads/default.aspx}
  2. Sequenced package for WinZip created using Microsoft App-V 4.6 SP1 sequencer in some shared location.

Solution:

First step is to install pre-requisite 1 {App-V client for remote desktop services SP1} in XenApp 4.5 environment. Copy the sequenced package to some pre-defined share location if it is not already copied there. After copying the sequenced package, open the OSD file to edit it. Edit the following line in the OSD file for the parameter HREF:   

<CODEBASE HREF=”\\ServerName\WinZip\Winzip.sft" GUID="D81A77E4-9134-4607-B900-224AA5286D16" PARAMETERS="" FILENAME="WinZip\WINZIP32.EXE" SYSGUARDFILE="WinZip\osguard.cp" SIZE="40241038"/>

Keep the default value of other parameters.

Next step is to publish it in XenApp 4.5 environment. Below are the steps:

  1. Welcome Screen: Click Next.image
  2. Enter the Display name and application description as “WinZipAppV”. Click Next.image
  3. Select the radio button for “Application” and application type as “Accessed from a server”. From Server application type dropdown list, select “installed application” and click Next. image
  4. This step is the core step:                                                         Add Command line as "C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe" “\\Server\WinZip\WinZip 25.0.9468.0.osd”. Working directory as “C:\Program Files\Microsoft Application Virtualization Client”. Click Next.image
  5. Now follow the rest of publishing steps to fully publish the App-V package. You can refer to the article at http://mdaslam.wordpress.com/2010/06/10/application-publish-in-xenapp/ for rest of the steps.

Now you can access this newly published App-V package for WinZip in XenApp 4.5 like any other published application. When you will access it, below screen will come up. Note the notification “WinZip 25.0.9568.0 launched” above system tray.

image

                            –End of Article–

Streaming is the virtualization technique. It enables applications to be delivered to client devices and run in a protected, virtual environment.  Applications are managed in a centralized Application Hub, but are streamed to the client device and run in an isolation environment.  Applications become an on-demand service that is always available and up-to-date.

Streaming package needs to be created using the Streaming profiler. Once created successfully, it needs to be published for the user community.

Its creation is explained in my article at http://mdaslam.wordpress.com/2010/08/18/xenapp-application-streaming-package-creation

Now in this article, we will learn:

  1. How to add VBScript in streaming package : Sometimes we need to add VBScript to the package for doing some required operations like mapping of drives. 
  2. How to run the added VBScript: We need to run the VBScript before launching the application. Application launch instruction should be written in the VBScript. 

For implementing above requirement, I will use streaming package for MS Word component that we created in my article at the above link.

Steps to Update streaming package:

  1. Streaming package is modified using Streaming Profiler. To run streaming profiler go to {All Programs > Citrix > Streaming Profiler} and click on Streaming Profiler. Following screen will appear:image
  2. Click on “Open Profile” button, following screen will appear: Select the application streaming package profile file and click Open.image
  3. Following screen will appear:image
  4. Expand the package {MSOffice – Word} node and right click on first child node and select “Update / Install Application as shown below:image  Following progress screen will appear: It will take couple of minutes to open package for editing.image
  5. Following screen will appear: Click Nextimage   
  6.   Select radio button for “Advanced Install” and click Next. Note: image
  7. For first requirement {adding VBScript} Select the radio button for “Select files and folders” and Click Next.              image  Following screen will appear:  Select the required file from left hand side window and select the required destination location from right hand window. Once selected, click on arrow button to add the file. Once added, Click Next.                                      Note: We need to add wscript.exe along with VBScript on same location as it will be required to run the script. image Following screen will appear: Select radio button for “Finish  installations”. Click Next.image
  8. Below screen will appear, containing the list of applications that are installed on this package. You can select application from this list and click on “Run” button to run that application. Some application requires some settings to be done after launching it for the first time. Those type of activities can be done using this screen.image 
  9. Once the application is executed in above step for the first time, exit the application and its status will be changed to “Application Run” as shown below: image
  10. If you want to add/modify/delete any application, use the below screen: image Click Add {for above second requirement}, following screen will appear:                                                                                     Add the following information:                                              Application name: MSOffice – Word                                          Version: 2003                                                                        Path: C:\Program Files\Microsoft Office\wscript.exe {Browse to this location by clicking Browse button. Browse button will take you inside package to get the file that you have added above}. Working Directory: C:\Program Files\Microsoft Office.              Command line parameters: testWord.vbsimage  After clicking ok, following screen will appear: Click Next.image
  11. You can sign the profile using below screen: Click Nextimage
  12. Profile summary will appear in the below screen. Click Finish to finish the profile creation.image
  13. On successful updation of profile, following main screen will appear. Click on the save button as shown in circle in below screenshot to save the profile: Profile will saved under the same shared location.image
  14. Now during its publishing in XenApp, we need to select “MSOffice – Word” as application name under “Location” screen as shown below: image  For information of how to publish streaming package, refer to below articles:  http://mdaslam.wordpress.com/2010/08/25/xenapp-publishing-streaming-package/ and http://mdaslam.wordpress.com/2010/09/01/xenapp-automated-streaming-package-publish-using-powershell/ 

Streaming is the virtualization technique. It enables applications to be delivered to client devices and run in a protected, virtual environment.  Applications are managed in a centralized Application Hub, but are streamed to the client device and run in an isolation environment.  Applications become an on-demand service that is always available and up-to-date.

Streaming package needs to be created using the Streaming profiler. Once created successfully, it needs to be published for the user community.

Its creation is explained in my article at http://mdaslam.wordpress.com/2010/08/18/xenapp-application-streaming-package-creation

Now in this article, we will learn, how to modify streaming package for

  1. adding one file : Sometimes we need to add/update application configuration file
  2. updating registry: Sometimes we need to update registry entry for application data

For implementing above requirement, I will use streaming package for MS Word component that we created in my article at the above link.

Steps to Update streaming package:

  1. Streaming package is modified using Streaming Profiler. To run streaming profiler go to {All Programs > Citrix > Streaming Profiler} and click on Streaming Profiler. Following screen will appear:image
  2. Click on “Open Profile” button, following screen will appear: Select the application streaming package profile file and click Open.image
  3. Following screen will appear:image
  4. Expand the package {MSOffice – Word} node and right click on first child node and select “Update / Install Application as shown below:image  Following progress screen will appear: It will take couple of minutes to open package for editing.image
  5. Following screen will appear: Click Nextimage  
  6.   Select radio button for “Advanced Install” and click Next. Note: image
  7. For first requirement {adding one file} Select the radio button for “Select files and folders” and Click Next.              image  Following screen will appear:  Select the required file from left hand side window and select the required destination location from right hand window. Once selected, click on arrow button to add the file. Click Next.image Following screen will appear: Select radio button for “perform additional installations” to implement second requirement. Click Next.image
  8. For second requirement {updating registry} Select the radio button for “Edit registry” and Click Next. image  Following screen will appear:  Click on “Lunch Windows Registry Editor” button:image Registry editor will be launched as shown below: Update it for the required data and then close the editor. image Following screen will appear again: Click Nextimage
  9. Following screen will appear: Select radio button for “Finish installations” and Click Next.image              
  10. Below screen will appear, containing the list of applications that are installed on this package. You can select application from this list and click on “Run” button to run that application. Some application requires some settings to be done after launching it for the first time. Those type of activities can be done using this screen.image
  11. Once the application is executed in above step for the first time, exit the application and its status will be changed to “Application Run” as shown below: image
  12. If you want to add/modify/delete any application, use the below screen: Click Next image
  13. You can sign the profile using below screen: Click Nextimage
  14. Profile summary will appear in the below screen. Click Finish to finish the profile creation.image
  15. On successful updation of profile, following main screen will appear. Click on the save button as shown in circle in below screenshot to save the profile: Profile will saved under the same shared location.image
  16. Resultant Folder structure of profile as saved at shared location: image  Please note the presence of second cab file. Whenever streaming profile is updated, new cab file is created. You can delete the old cab file if you don’t want to maintain history as old cab file might be used to rollback the changes.

Purpose:

To publish application streaming package in XenApp automatically using PowerShell script.

Pre-requisite:

Following are the prerequisites for setting up the environment to execute PowerShell script to publish application in XenApp:

  1. .Net Framework 3.5 SP1 {Download it from Microsoft website}
  2. Microsoft PowerShell 1.0 {Download it from Microsoft website}
  3. XenApp Command technology preview{Download it from citrix site: https://www.citrix.com/English/ss/downloads/details.asp?downloadId=1687620&productId=186#top} : These commands are a PowerShell Tool Pack that allows managing most aspects related to XenApp.  They cover all of MFCOM functionality for features available in XenApp 5 and include functionality from both AMC and CMC.
  4. Person who is publishing application icon should have full administrative rights on Access management console and should have atleast read access rights on the shared location where streaming package is stored.
  5. Application users should also has read access rights on the shared location where streaming package is stored.

Install all the above components {step 1 – 3} in the given order onto the XenApp environment.

Solution: 

Below script is the solution. It has four parts:

  • Creation of input box for application information – {Line 10 – 99}
  • Creation the published application icon for streaming package – {Line 101-117}
  • Addition of users/groups to the application –{Line 119-120}
  • Assignment of servers to the published app –{Line 122-123}

    Script:

       1: # =========================================================

       2: # 

       3: # AUTHOR: Mohd Aslam

       4: # DATE  : 7/06/2010

       5: # 

       6: # COMMENT: This script will publish application streaming 

       7: # package in XenApp.

       8: # 

       9: # =========================================================

      10: [void] [System.Reflection.Assembly]::LoadWithPartialName(

      11: "System.Drawing") 

      12: [void] [System.Reflection.Assembly]::LoadWithPartialName(

      13: "System.Windows.Forms") 

      14:  

      15: $objForm = New-Object System.Windows.Forms.Form 

      16: $objForm.Text = "Server Desktop publish information"

      17: $objForm.Size = New-Object System.Drawing.Size(430,200) 

      18: $objForm.StartPosition = "CenterScreen"

      19:  

      20: $objForm.KeyPreview = $True

      21: $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 

      22:     {$x=$objTextBox.Text;$objForm.Close()}})

      23: $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") 

      24:     {$objForm.Close()}})

      25:  

      26: $OKButton = New-Object System.Windows.Forms.Button

      27: $OKButton.Location = New-Object System.Drawing.Size(190,140)

      28: $OKButton.Size = New-Object System.Drawing.Size(75,23)

      29: $OKButton.Text = "OK"

      30: $OKButton.Add_Click(

      31: {

      32: $AppName=$objAppName.Text;

      33: $AppUsers=$objAppUsers.Text;

      34: $AppServers=$objAppServers.Text;

      35: $objForm.Close()

      36: }

      37: )

      38: $objForm.Controls.Add($OKButton)

      39:  

      40: $CancelButton = New-Object System.Windows.Forms.Button

      41: $CancelButton.Location = New-Object System.Drawing.Size(290,140)

      42: $CancelButton.Size = New-Object System.Drawing.Size(75,23)

      43: $CancelButton.Text = "Cancel"

      44: $CancelButton.Add_Click(

      45: {

      46: $objForm.Close()

      47: }

      48: )

      49: $objForm.Controls.Add($CancelButton)

      50:  

      51: $objLabel = New-Object System.Windows.Forms.Label

      52: $objLabel.Location = New-Object System.Drawing.Size(10,15) 

      53: $objLabel.Size = New-Object System.Drawing.Size(280,20) 

      54: $objLabel.Text = "Please enter the information in the space below:"

      55: $objForm.Controls.Add($objLabel) 

      56:  

      57: $objLbl_AppName = New-Object System.Windows.Forms.Label

      58: $objLbl_AppName.Location = New-Object System.Drawing.Size(10,40) 

      59: $objLbl_AppName.Size = New-Object System.Drawing.Size(160,20) 

      60: $objLbl_AppName.Text = "Application Name:"

      61: $objForm.Controls.Add($objLbl_AppName) 

      62:  

      63: $objAppName = New-Object System.Windows.Forms.TextBox 

      64: $objAppName.Location = New-Object System.Drawing.Size(190,40) 

      65: $objAppName.Size = New-Object System.Drawing.Size(205,20) 

      66: $objForm.Controls.Add($objAppName) 

      67:  

      68: $objLbl_AppUsers = New-Object System.Windows.Forms.Label

      69: $objLbl_AppUsers.Location = New-Object System.Drawing.Size(10,70) 

      70: $objLbl_AppUsers.Size = New-Object System.Drawing.Size(160,20) 

      71: $objLbl_AppUsers.Text = "Application Users*:"

      72: $objForm.Controls.Add($objLbl_AppUsers) 

      73:  

      74: $objAppUsers = New-Object System.Windows.Forms.TextBox 

      75: $objAppUsers.Location = New-Object System.Drawing.Size(190,70) 

      76: $objAppUsers.Size = New-Object System.Drawing.Size(205,20) 

      77: $objForm.Controls.Add($objAppUsers) 

      78:  

      79: $objLbl_Server = New-Object System.Windows.Forms.Label

      80: $objLbl_Server.Location = New-Object System.Drawing.Size(10,100) 

      81: $objLbl_Server.Size = New-Object System.Drawing.Size(160,20) 

      82: $objLbl_Server.Text = "Servers*:"

      83: $objForm.Controls.Add($objLbl_Server) 

      84:  

      85: $objAppServers = New-Object System.Windows.Forms.TextBox 

      86: $objAppServers.Location = New-Object System.Drawing.Size(190,100) 

      87: $objAppServers.Size = New-Object System.Drawing.Size(205,20) 

      88: $objForm.Controls.Add($objAppServers) 

      89:  

      90: $objLbl_Server = New-Object System.Windows.Forms.Label

      91: $objLbl_Server.Location = New-Object System.Drawing.Size(10,120) 

      92: $objLbl_Server.Size = New-Object System.Drawing.Size(180,20) 

      93: $objLbl_Server.Text = "*: Enter ';' separated data if any"

      94: $objForm.Controls.Add($objLbl_Server) 

      95:  

      96: $objForm.Topmost = $True

      97:  

      98: $objForm.Add_Shown({$objForm.Activate()})

      99: [void] $objForm.ShowDialog()

     100:  

     101: New-XAApplication -BrowserName $AppName `

     102: -DisplayName $AppName -FolderPath "Applications/Office" `

     103: -Enabled $true `

     104: -ApplicationType StreamedToServer `

     105: –ProfileLocation "\\Server\App_Profiles\MSOffice - Word.profile" `

     106: –ProfileProgramName "Microsoft Office Word 2003" `

     107: –IconStream (

     108: Get-XAIconStream `

     109: -profilelocation "\\Server\App_Profiles\MSOffice - Word.profile" `

     110: -profileprogramname "Microsoft Office Word 2003" `

     111: –Index 0) `

     112: -AnonymousConnectionsAllowed $false `

     113: -InstanceLimit "-1" `

     114: -ColorDepth 1 `

     115: -AudioRequired $false `

     116: -ClientFolder "Office"`

     117: -ProfileProgramArguments %* `

     118:  

     119: Add-XAApplicationAccount -BrowserName $AppName `

     120: -Accounts $AppUsers.Split(";")

     121:  

     122: Add-XAApplicationServer -BrowserName $AppName `

     123: -ServerNames $AppServers.Split(";")

     How to Run above script?:

    Save above script to some location with .ps1 extension. To Run above script, go to “Programs > Citrix > XenApp Commands” and click “Windows PowerShell with XenApp Commands (CTP2)” icon. It will launch PowerShell command prompt.

    On the PowerShell command prompt, write script name with full location and click enter. Script will run and below screen will be displayed:

    image

    Enter all the required data and click “Ok”. For application users and servers, multiple data can be entered separated by “;”.

    Following screen will be displayed containing information about the published icon.

    image

    To confirm the successful publish, go to access management console and see the published icon as:

    image

                                                                    –Finish–

  • Access Management console is required to publish application streaming package in XenApp.

    Below are the steps required to publish streaming package.

    Prerequisite:

    1. Citrix Access Management console should be installed on the XenApp farm.
    2. Person who is publishing application icon should have full administrative rights on Access management console and should have atleast read access rights on the shared location where streaming package is stored.
    3. Application users should also has read access rights on the shared location where streaming package is stored.
    4. Streaming client should be installed on the user’s machine.

    Steps:

    1. Double click on the desktop icon “Access Management Console” or launch the exe “CmiLaunch.exe” from "C:\Program Files\Common Files\Citrix\Access Management Console – Framework\". Citrix Access Management console window will be launched. Left side of window will have tree structure as shown below. It has a node for Presentation server and under it, there is a node for XenApp farm. It has different folders under it to manage the farm. For this article, our interest is the “Applications” folder under it.           image 
    2. Right Click on “Applications” folder and Select New –> Create Folder as  shown below:            image
    3. Following screen will appear: image                                Enter the application name and click ok. It will create “Office” folder under the applications node.
    4. Right click on “Office” folder and select New –> Publish application. “Welcome” screen will appear: Click Nextimage
    5. “Name” screen will appear, add the following details and Click Next:                                                                                     Display Name: MSOffice – Word | Application description: MSOffice – Wordimage
    6. “Type” screen will appear, Select the radio button for “Application” and then select radio button for “Application from a server”. From Server application type dropdown, select “Streamed to server” and Click Next.image
    7. “Location” screen will appear, browse to the application profile location and then select the required application from Application to launch dropdown list and then click Next. image
    8. “Servers” screen will appear, Click on “Add” button to add all the servers where you want application to stream to. By stream to, I mean, application will be run in isolation from that server. Servers added here will be having load balancing.image
    9. “Users” screen will appear for adding users who will have access rights on the published icon. Click Add button and it will open “second screen”. On that screen, click on “Add List of Names” button to add the users. “third Screen” will appear. Enter the users into the screen and click “Check Names” button to see the validity of the entered users. Once verified click Ok. Click Ok on second screen and click Next on First screen.                              Note: You can add any number of users from the below screens but the best practice is to have active directory group containing all the required users and that group can be added directly to the below screen. With active directory group it is very easy to manage users. By manage I mean, addition and deletion of users.image
    10. “Shortcut Presentation” screen will appear. Enter “Office” folder in the textbox for “Client application folder”. If the user access is through web ICA, do not check the checkbox for “add to the client’s start menu” and “add shortcut to the client’s desktop”.                                                                                 Note: You should enter the folder name that you have created at step 2 above. Users will see the application icon under this folder in their web ICA session. image Check for the application icon displayed on this screen. If you want to change it, click on change icon button, following screen will appear, select the appropriate radio button and get the required application icon and click Ok and then click Next to the parent screen.image
    11. “Publish immediately” screen will appear, select the checkbox for “Configure advanced application settings now” and click next.image
    12. Access control screen will appear: Keep the default options and click Next.image
    13. “Content redirection” screen will appear: select the required extensions and click Next.                                                        Note: For more information, refer to my article: http://mdaslam.wordpress.com/2009/09/09/associating-published-applications-with-file-types/image
    14. Alternate profiles: Keep the default value and click Next.image
    15. “Limits” screen will appear: Depending on the application architecture and the bandwidth, check the checkbox for “Limit instances allowed to run in server farm” and then add Maximum instances. Click Next.image
    16. “Client options” screen will appear: Select the different options based on your requirements like the bandwidth, security or printing requirements. Click Next.                                                  Note: For Client audio, refer to the article http://mdaslam.wordpress.com/2009/11/24/xenapp-legacy-audio/image
    17. “Appearance” screen will appear: Select the appropriate session window size and required color depth. Click Finish.                 Note: For seamless mode, selecting any value under “session window size” will not make any difference. For Color depth, refer to my article: http://mdaslam.wordpress.com/2009/09/22/xenapp-colors-depth-in-published-application-properties/image After this step, application icon will be published and available under “Office” folder. Users who are given access to this icon, will be able to see it in Web ICA session.  

                                                                –Finish–

    Streaming is the virtualization technique. It enables applications to be delivered to client devices and run in a protected, virtual environment.  Applications are managed in a centralized Application Hub, but are streamed to the client device and run in an isolation environment.  Applications become an on-demand service that is always available and up-to-date.

    Streaming package needs to be created using the Streaming profiler. Once created successfully, it needs to be published for the user community

    For explaining the package creation steps, I am creating streaming package for MS Word component of MS office. You can select any component of MS office or if you want, you can select all components.

    Steps to create streaming package:

    1. Create a shared location like {\\ServerName\\Apps\App_Profiles\} to store the final streaming packages.
    2. Streaming package is created using Streaming Profiler. To run streaming profiler go to {All Programs > Citrix > Streaming Profiler} and click on Streaming Profiler. Following screen will appear:image
    3. Click on New Profile button, following screen will appear: Enter Profile name as “MSOffice – Word” and Click Next.image
    4. Select radio button for “Relaxed security” and click Next.image
    5. Some applications are designed to interface directly with other applications to provide interoperability and extended functionality. Use this page to set up Inter-Isolation Communication in which profiled applications can communicate on the client device. Click Browse to locate your other profiles. Select the profiles to add and use the buttons to rank the selected profiles in order of priority, top being the highest rank. If you don’t want to set up Inter-Isolation Communication, click Next.image
    6. Select the checkbox for the target operating system and languages, and click Next. You can also select multiple values. image
    7.   Select radio button for “Advanced Install” and click Next. Note: For simple install we can also select “Quick Install” option.image
    8. Select the radio button for “Run install program or command line script” and click Next.                                                             Note: As per the below screen, following options are available: 1) Run install program or command line script – This is required for first time installation or for multiple installation for the same package.                                                                                      2) Install IE plugins, web application, or online updated -  It is required, if you want to install IE plugins or Microsoft updates.  3) Select files and folders – This is required to change/update {addition and deletion of files are allowed} or to view the file/folder structure.                                                                     4) Edit Registry – This is required to edit the registry entry.         5) Continue with none of the aboveimage
    9. Select the installation program / command line script and click Next. For EXE, just select the exe location. For MSI, use meiexec /i with MSI location. image
    10. Click on “Launch Installer” button as shown belowimage             Application setup will start running. Follow all the setup steps and finish the application installation.
    11. On application installation completion, following screen will appear, Select the radio button for “Finish Installations”.                                                                         Note: For additional actions, radio button for “Perform additional installations” can be selected. image
    12. Below screen will appear, containing the list of applications that are installed on this package. You can select application from this list and click on “Run” button to run that application. Some application requires some settings to be done after launching it for the first time. Those type of activities can be done using this screen.image
    13. Once the application is executed in above step for the first time, exit the application and its status will be changed to “Application Run” as shown below: image
    14. If you want to add/modify/delete any application, use the below screen: Click Nextimage
    15. You can sign the profile using below screen: Click Nextimage
    16. Profile summary will appear in the below screen. Click Finish to finish the profile creation.image
    17. On successful creation of profile, following main screen will appear. Click on the save button as shown in circle in below screenshot to save the profile:image
    18. After clicking save button, following screen will appear: Enter shared path as per step 1 and click “Save”. Profile will be saved to the shared location.image
    19. Resultant Folder structure of profile as saved at shared location: image  Please note the files “MSOffice – Word.profile” and a cab file. *.profile file contains the information about application installed and  cab file contains all the files and folder with proper structure. To see all files and folder, rename it to *.zip and open it.

    For installation time using streaming and traditional technique, refer to the link: 

    http://mdaslam.wordpress.com/2009/09/16/installation-time-study-using-citrix-streaming-and-traditional-installation-techniques/

    Purpose:

    To publish content like “www.google.com” in XenApp automatically using PowerShell script.

    Pre-requisite:

    Following are the prerequisites for setting up the environment to execute PowerShell script to publish application in XenApp:

    1. .Net Framework 3.5 SP1 {Download it from Microsoft website}
    2. Microsoft PowerShell 1.0 {Download it from Microsoft website}
    3. XenApp Command technology preview{Download it from citrix site: https://www.citrix.com/English/ss/downloads/details.asp?downloadId=1687620&productId=186#top} : These commands are a PowerShell Tool Pack that allows managing most aspects related to XenApp.  They cover all of MFCOM functionality for features available in XenApp 5 and include functionality from both AMC and CMC.

    Install all the above components in the given order onto the XenApp environment.

    Solution: 

    Below script is the solution. It has four parts:

  • Creation of input box for application information – {Line 10 – 99}
  • Creation of new folder under Applications folder {Applications/Test} – {Line 106}
  • Publishing content – {Line 108 – 115}
  • Addition of users/groups to the application –{Line 117-118}

    Script:

       1: # =========================================================

       2: # 

       3: # AUTHOR: Mohd Aslam

       4: # DATE  : 7/15/2010

       5: # 

       6: # COMMENT: This script will publish content like website in 

       7: #          XenApp

       8: # 

       9: # =========================================================

      10: [void] [System.Reflection.Assembly]::LoadWithPartialName(

      11: "System.Drawing") 

      12: [void] [System.Reflection.Assembly]::LoadWithPartialName(

      13: "System.Windows.Forms") 

      14:  

      15: $objForm = New-Object System.Windows.Forms.Form 

      16: $objForm.Text = "Server Desktop publish information"

      17: $objForm.Size = New-Object System.Drawing.Size(430,200) 

      18: $objForm.StartPosition = "CenterScreen"

      19:  

      20: $objForm.KeyPreview = $True

      21: $objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter") 

      22:     {$x=$objTextBox.Text;$objForm.Close()}})

      23: $objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape") 

      24:     {$objForm.Close()}})

      25:  

      26: $OKButton = New-Object System.Windows.Forms.Button

      27: $OKButton.Location = New-Object System.Drawing.Size(190,140)

      28: $OKButton.Size = New-Object System.Drawing.Size(75,23)

      29: $OKButton.Text = "OK"

      30: $OKButton.Add_Click(

      31: {

      32: $AppName=$objAppName.Text;

      33: $AppUsers=$objAppUsers.Text;

      34: $AppCons=$objAppCons.Text;

      35: $objForm.Close()

      36: }

      37: )

      38: $objForm.Controls.Add($OKButton)

      39:  

      40: $CancelButton = New-Object System.Windows.Forms.Button

      41: $CancelButton.Location = New-Object System.Drawing.Size(290,140)

      42: $CancelButton.Size = New-Object System.Drawing.Size(75,23)

      43: $CancelButton.Text = "Cancel"

      44: $CancelButton.Add_Click(

      45: {

      46: $objForm.Close()

      47: }

      48: )

      49: $objForm.Controls.Add($CancelButton)

      50:  

      51: $objLabel = New-Object System.Windows.Forms.Label

      52: $objLabel.Location = New-Object System.Drawing.Size(10,15) 

      53: $objLabel.Size = New-Object System.Drawing.Size(280,20) 

      54: $objLabel.Text = "Please enter the information in the space below:"

      55: $objForm.Controls.Add($objLabel) 

      56:  

      57: $objLbl_AppName = New-Object System.Windows.Forms.Label

      58: $objLbl_AppName.Location = New-Object System.Drawing.Size(10,40) 

      59: $objLbl_AppName.Size = New-Object System.Drawing.Size(160,20) 

      60: $objLbl_AppName.Text = "Publish Name:"

      61: $objForm.Controls.Add($objLbl_AppName) 

      62:  

      63: $objAppName = New-Object System.Windows.Forms.TextBox 

      64: $objAppName.Location = New-Object System.Drawing.Size(190,40) 

      65: $objAppName.Size = New-Object System.Drawing.Size(205,20) 

      66: $objForm.Controls.Add($objAppName) 

      67:  

      68: $objLbl_AppCon = New-Object System.Windows.Forms.Label

      69: $objLbl_AppCon.Location = New-Object System.Drawing.Size(10,70) 

      70: $objLbl_AppCon.Size = New-Object System.Drawing.Size(160,20) 

      71: $objLbl_AppCon.Text = "Content:"

      72: $objForm.Controls.Add($objLbl_AppCon) 

      73:  

      74: $objAppCons = New-Object System.Windows.Forms.TextBox 

      75: $objAppCons.Location = New-Object System.Drawing.Size(190,70) 

      76: $objAppCons.Size = New-Object System.Drawing.Size(205,20) 

      77: $objForm.Controls.Add($objAppCons) 

      78:  

      79: $objLbl_AppUsers = New-Object System.Windows.Forms.Label

      80: $objLbl_AppUsers.Location = New-Object System.Drawing.Size(10,100) 

      81: $objLbl_AppUsers.Size = New-Object System.Drawing.Size(160,20) 

      82: $objLbl_AppUsers.Text = "Application Users*:"

      83: $objForm.Controls.Add($objLbl_AppUsers) 

      84:  

      85: $objAppUsers = New-Object System.Windows.Forms.TextBox 

      86: $objAppUsers.Location = New-Object System.Drawing.Size(190,100) 

      87: $objAppUsers.Size = New-Object System.Drawing.Size(205,20) 

      88: $objForm.Controls.Add($objAppUsers) 

      89:  

      90: $objLbl_Server = New-Object System.Windows.Forms.Label

      91: $objLbl_Server.Location = New-Object System.Drawing.Size(10,120) 

      92: $objLbl_Server.Size = New-Object System.Drawing.Size(180,20) 

      93: $objLbl_Server.Text = "*: Enter ';' separated data if any"

      94: $objForm.Controls.Add($objLbl_Server) 

      95:  

      96: $objForm.Topmost = $True

      97:  

      98: $objForm.Add_Shown({$objForm.Activate()})

      99: [void] $objForm.ShowDialog()

     100:  

     101: If($AppCons.Substring(0,3) -eq "www")

     102: {

     103:     $AppCons = "http://" + $AppCons

     104: }

     105:  

     106: New-XAFolder Applications/Desktops

     107:  

     108: New-XAApplication -BrowserName $AppName `

     109: -ApplicationType "Content" `

     110: -ContentAddress $AppCons `

     111: -DisplayName $AppName -FolderPath "Applications/Desktops" `

     112: -Enabled $true `

     113: -AnonymousConnectionsAllowed $false `

     114: -AddToClientStartMenu $false `

     115: -ClientFolder "Desktops"`

     116:  

     117: Add-XAApplicationAccount -BrowserName $AppName `

     118: -Accounts $AppUsers.Split(";") 

     How to Run above script?:

    Save above script to some location with .ps1 extension. To Run above script, go to “Programs > Citrix > XenApp Commands” and click “Windows PowerShell with XenApp Commands (CTP2)” icon. It will launch PowerShell command prompt.

    On the PowerShell command prompt, write script name with full location and click enter. Script will run and below screen will be displayed:

    image

    Enter all the required data and click “Ok”. For application users, multiple data can be entered separated by “;”.

    Following screen will be displayed containing information about the published content.

    image

    To confirm the successful publish, go to access management console and see the published icon as:

    image

    Right click on Web-Contents icon and see the properties as below:

    image

     

                                                                    –Finish–

  • Older Posts »

    Follow

    Get every new post delivered to your Inbox.