Remoteapp MSI file publishing in Win Server 2012


  • Hi,

    Is it no longer possible to publish remoteapps using MSI?

    The problem with this is that it's not possible to do file associations unless you use the Remote Desktop Web Connection.

    Best regards


    21 Mei 2012 18:58


Semua Balasan

  • Hi Kjartan,

    That's correct, it is no longer possible to publish RemoteApp programs via MSI. The only way to install file type associations for RemoteApp programs is via a default RemoteApp and Desktop Connection (installed via group policy).

    Can you elaborate on your scenario? If you have a use case that was enabled by MSI publishing but is no longer possible in Server 2012, we would be interested to hear about it.


    Travis Howe | RDS Blog:

    22 Mei 2012 22:51
  • Hi Kjartan,

    Thanks for your post.

    As Travis mentioned, you may describe your scenario more clearly, and give a feedback of the server 2012 RDS component. For best practice, I would suggest that we post this issue at Windows Server 8 forum. You can start a discussion there, which can get attention with experts who interested with it. Your understanding is highly appreciated.

    Windows Server "8" Beta General

    Best Regards,


    Aiden Cao

    TechNet Community Support

    24 Mei 2012 6:51
  • It would be nice to return the "deploy via MSI" feature to the Remote Desktop suite.  Presently I use PSTOOLS to deploy my RemoteApp MSI's to my users.  Should I change to GPO, with Server 2012, I would still be unable to deploy as .RDP is not a valid extension for deployment via GPO -> Policies -> Software Settings -> Software Installation.

    Further more, the simplicity of the MSI, creating start menu icons (with actual icons, rather than the generic .RDP icon for all applications) was a nice bonus.

    I am not sure why Microsoft insists on removing all valued content when releasing a new flavor/generation of software...


    14 Juni 2012 16:01
  • Are you aware of the RemoteApp and Desktop Connections feature? We added this in Server 2008 R2 - it is an alternative way to install links to RemoteApp programs and Remote Desktop RDP files in users' start menus (with the proper icons). You can read more about it here:

    In Server 2012, we've expanded upon this feature: you can now configure RemoteApp and Desktop Connections on end-user machines via GP, which also enables file type associations to be installed with the connection. I expect you'll see more details on this in a future blog post on the RDS blog.


    Travis Howe | RDS Blog:

    14 Juni 2012 18:06
  • A little old thread, but here are the scenario where we still need the MSI publishing:

    Most of our clients are still using Windows XP SP3 (which doesn't have the Remoteapp and desktop connection feature"). Only way would for them to use RD Web access, which doesn't give you file associations. So from 2008  to 2012, basically for windows XP clients we've 'lost' the ability to get the icons on the desktop and file associations.

    Any explanation as to why this is?

    07 Oktober 2012 21:28
  • HOLY COW!!! You're KIDDING ME, right?!?!?!

    We can no longer just hand an MSI to someone across the Internet and tell 'em "Click this"???  NOW we have to use RD WebAccess???  What the heck is wrong with you, Microsoft?!?!  That was THE GREATEST FEATURE of RemoteApps in Server 2008, the simple ability to give someone an MSI or an RDP file (including non-managed systems like home user's machines) and have it set up a quick link to a RemoteApp.  

    Now, we have to deal with setting up a web page so users can click through myriad confusing Web screens just to install an app?

    TONIGHT, we're reformatting and going back to Server 2008R2 where RemoteApps was easy-peasy and "just worked".  The more I user Server 2012, with its "Metro" crap-UI and feature-regressions, the more I want to look for server alternatives or push my clients to stay with Server 2008.


    15 Nopember 2012 1:59
  • There is however, a way to extract the .RDP files that the Control Panel generates on the client. If you would browse to the following path on a client that signed up for Remote Apps you can find those .RDP files.

    C:\Users\<username>\AppData\Roaming\Microsoft\Workspaces\<workspace ID>\Resource

    Theoretically, you would be able to distribute these .RDP files the old way. However, Microsoft would probably advise you to use the new Web Feed method since it creates more flexibility and provides central management.


    10 Desember 2012 21:29
  • Aiden,

    For 2008 R2, we create MSI's to put on a website for our clients to download. All of our servers are in the cloud. The clients did not like the URL version due to the time for pages to load and number of clicks required to login each time they need to run our application.

    The .MSI version only has to be downloaded once, installed, then a one time login with "Remember settings". After that, the client simply double clicked the Remote app on their desktop or Start Menu folders allowing our application to load.

    The time for the IT team to create an .MSI took less than 5 seconds.

    Please explain to me where things have improved? Will this supposed new concept work with some clients that have the older XP OS?

    Improvements should always be a good thing, but removing other options that worked amazingly well is questionable. As they both could be considered different concepts, it would have been a good business strategy to leave the MSI available.

    13 Mei 2013 17:33
  • Although not a perfect solution yet, these tools I'm developing have helped other users:

    RemoteApp Tool is a basic alternative to RemoteApp Manager. It can create and configure remoteapps on Windows 7, 8, and Server. It will generate RDP files for your remoteapps.

    RDP2MSI which can create deployable MSIs from RDP files for you to distribute to your users. It is in the early stages of development and the MSIs can't do file associations yet, but I am working on that. My goal is to integrate it into the next release of RemoteApp Tool.


    10 September 2013 5:05
  • I Must agree with Dan on this, word By word;I feel the same way. Why oh why would you take away a feature that made Windows Terminal services compete with Vmware and Citrix

    As for the Metro UI: Microsoft needs to understand that server admins work remotely 99.(9) % of the time; Metro does not help at all(do you guys know how hard it it is to hit those 3 pixels at the top right to get a menu on a Remote connection?.. sheesh). I am always pro-upgrade but this is just annoying.

    Venting Done :)!


    • Diedit oleh shknbake 26 Nopember 2013 16:04
    26 Nopember 2013 16:03
  • Hi,

    You can use script to deploy remoteApp with extension association to Windows 7.
    First use a GPO to define the default URL connexion

    next use this script:

    [Reflection.Assembly]::LoadWithPartialName("System.Web") | Out-Null
    $FeedURL=(Get-ItemProperty HKCU:\Software\Policies\Microsoft\Workspaces).DefaultConnectionURL
    function getFormAuthCookie($URL)
        $CredCache= New-Object
        Write-Host "GetCookie:" $responce.StatusCode
        $StrmReader = New-Object$responce.GetResponseStream() )
        return $FormsAuthCookie
    function GetConnectionXml($URL,$FormsAuthCookie)
        $Request.CookieContainer = New-Object
        $Request.CookieContainer.Add( $(New-Object[]::FormsCookieName,$FormsAuthCookie,"/",$Request.RequestUri.Host)))
        Write-Host "GetXML:" $responce.StatusCode
        $StrmReader = New-Object$responce.GetResponseStream() )
        return $connectionXml
    function GetConnectionContents($URL)
        $XMLContent=GetConnectionXml $URL $STRCookie
        return $XMLContent
    function downloadFile($Source,$Dest,$FormsAuthCookie)
        $Request.CookieContainer = New-Object
        $Request.CookieContainer.Add( $(New-Object[]::FormsCookieName,$FormsAuthCookie,"/",$Request.RequestUri.Host)))
        Write-Host $responce.StatusCode
        $reader = $responce.GetResponseStream()
        [byte[]]$buffer = New-Object byte[] 4096
        [long]$total = [long]$count = 0
        do {
            	$count = $reader.Read($buffer, 0, $buffer.Length);
                $writer.Write($buffer, 0, $count);
        } while ($count -gt 0)
    function CreateFileAssoc($ext,$AppName,$rdp,$ico)
        write-host $(".{0}={1}" -f $ext,$AppName)
    	mkdir (Join-Path $BaseReg ".$ext") -force | set-Item -Value ($AppName) -Force |Out-Null
    	mkdir (Join-Path $BaseReg "$AppName") -force | set-Item -Value ("File description") -Force |Out-Null
        mkdir (Join-Path $BaseReg "$AppName\DefaultIcon") -Force | set-Item -Value ("""$ico"",0") -Force |Out-Null
        mkdir (Join-Path $BaseReg "$AppName\shell") -Force | set-Item -Value ("Open") -Force |Out-Null
        mkdir (Join-Path $BaseReg "$AppName\shell\Open") -Force | set-Item -Value ("Ouvrir") -Force |Out-Null
        mkdir (Join-Path $BaseReg "$AppName\shell\Open\command") -Force | set-Item -Value ("mstsc.exe /REMOTEFILE:""%1"" ""$rdp""") -Force |Out-Null
    function new-Shortcut
        param ( [string]$RDPFile, [string]$DestinationPath, [string]$Icon )
        $WshShell = New-Object -comObject WScript.Shell
        $Shortcut = $WshShell.CreateShortcut($DestinationPath)
        $Shortcut.TargetPath = "mstsc.exe"
        $Shortcut.Arguments = $RDPFile
        $Shortcut.IconLocation = $Icon+",0"
    $XMLData=GetConnectionXml $FeedURL $STRCookie
    $URI=New-Object system.uri($FeedURL)
    $xdoc=New-Object system.xml.xmldocument
    $WorkingDir=((Get-Item Env:\APPDATA).value+"\Microsoft\RemoteApp")
    if( -not $(Test-Path $WorkingDir) )
            mkdir $WorkingDir | Out-Null
    #ShortCut Dir
    $MenuFolder= join-path (Get-Item Env:\APPDATA).value "Microsoft\Windows\Start Menu\Programs\RemoteApp"
    rmdir -Force $MenuFolder -ErrorAction silentlycontinue -Recurse
    mkdir -Force $MenuFolder | Out-Null
    foreach( $node in $xdoc.GetElementsByTagName("Resource") )
        Write-Host $node.Title
        downloadFile $httpRDPFile $RDPFILE $STRCookie
        downloadFile $httpICOFile $ICONFILE $STRCookie
        #Create File Assoc
        if( $node.FileExtensions.ChildNodes.Count -gt 0)
            foreach( $ext in $node.FileExtensions.FileExtension )
                CreateFileAssoc $ext.Name.trim(".") $node.Alias $RDPFILE $ICONFILE
        #Create Shortcut
        new-Shortcut $RDPFILE $($MenuFolder+"\"+$node.Title+".lnk") $ICONFILE

    Best regards

    Benoit LEFEVRE

    03 Juni 2014 8:19
  • I use "RemoteApp and Desktop Connection" in control panel, and i can open all remote app programs, but it is not possible to open a file using drag and drop feature, double click and start file with it's extension, etc

    To open a file we have to start remote app program in start menu and go to File > Open > go to file directory to open it!!!

    Windows Server 2008 R2 is Better and easier.

    I'm going to go back to Windows Server 2008 R2.

    01 Juli 2014 5:35
  • It is possible to use File Type Associations with "RemoteApp and Desktop Connections" (eg double-click file with extension and have it open in a remote app).

    However it won't work if you configure the connection URL via the control panel.

    You MUST configure the connection URL via group policy (or local policy editor).

    1. Create a group policy and edit it -OR- run gpedit.msc

    2. Navigate to User Configuration > Administrative Templates > Windows Components > Remote Desktop Services > RemoteApp and Desktop Connections.

    3. Edit the policy setting Specify default connection URL.

    4. Click Enabled and enter the URL to the webfeed below.

    01 Juli 2014 6:04
  • Microsoft the ability to push applications using "RemoteApp and Desktop Connections" Group Policy assumes the device is a member of the domain.  I have a customer who hosts a custom document management system as a RemoteApp for various companies and provides the remote company the ability to install the Application on their workstations as an MSI.  These are non-managed computers which must install the MSI.

    You have no solution for this.  This functionality must come back.

    Clint Boessen MVP - Exchange Server, MCSE, MCITPx6, Dip Network Engineering
    Perth, Western Australia


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.

    23 Juli 2014 11:22
  • Cannot aggree more, this is really messed up!

    "RemoteApp and Desktop Connections" through GPO cannot be configured on Microsoft VDI deployment, so there is exactly zero ways to install RemoteApp on VDI machine with file type associations.

    Customer needed Office 2013 as part of VDI functionality, but Outlook and Word are CPU killers (can get 100% CPU usage only scrolling or typing), if installed in VDI, and there is no way to install them as RemoteApp to move the CPU load to more powerful RemoteApp server. Going back to Office 2010 installed in VDI template and have to agree the customer about many poor decisions from MS lately...

    Janis Berzins / Infrastructure Solutions Consultant

    12 September 2014 13:20
  • I agree, I sure would like to add my 2cents....  The deploy via MSI was simple, easy to manage your users and just plain and simple a nice solution.  But I just don't know why Microsoft took this feature away in the name of an upgrade!
    08 Oktober 2014 21:03