locked
Business Applications with Links to Different Versions of Office RRS feed

  • Question

  • I'm running a POC sequencing some business applications for local government.  Some of these applications rely on having access to older versions of Office (2003 mainly) for things such as mailmerges.

    My question is this:  If I set up an RDS server for user desktops which has Office 2010 installed locally and then sequence Office 2003 and the business applications will it be possible for me to create a dependency so that the business applications will ONLY spawn instances of the sequenced Office 2003 applications and NOT the locally installed Office 2010?  If so then what is the best way to go about this please?

    Many thanks.

    Chris

    Friday, August 20, 2010 4:21 PM

Answers

  • You can sequence Office 2003 and remove the file type associations from the package; however internally (i.e. in the sequenced registry) the FTAs will still exist (that is, the FTA won't affect Windows and other applications).

    If the business application and Office 2003 are run in the same bubble (use DSC to achieve this), then there's a good chance that the application will launch the Office 2003 applications when it makes a call for Office. You will need to test this scenario to be sure.

    Tuesday, August 24, 2010 9:59 PM
    Moderator
  • Chris,

    Perhaps an explanation on file type association linkages and excel startup is needed?

    When you capture your sequence, the application writes to the registry (such as the keys you noted) to create these associations.  The sequencer notices these associations and makes a copy inside the OSD that is used for publishing.  The publishing action impliments these associations in the real registry of the client.  In that case, removing them from the virtual registry of the application will have no effect.  As your examples illustrate, the placement into the real registry is important for things outside the app to be able to start it.

    Second, Excel exhibits some exceptional startup behavior.  In fact, each of the main office components startup in strange ways, but each is also different from each other.  In the case of Excel, the program attempts to save both memory and visual real-estate. 

    When any excel.exe starts, it looks to see if the user has a running excel.exe process.  If it finds one, it basically passes on the request to the existing process.  The existing process then opens the new workbook inside the same GUI frame.  Within the overall Excel frame, you can now have two workbooks, but just one process.  It is easy not to notice this, because the GUI gives you a start tray entry for each file - making you think they are separate processes.  But try it and check using the task manager.

    This pass the request thing is not stopped by App-V virtual bubbles or different versions of Excel.  So if one version of Excel is open, another might start (with luck, you can sometimes see it in the process explorer) but will then send the request to the other excel.  So the bottom line is that while you can have two versions of word running for the same user at the same time, with excel you can have two versions available but only one running at a time.

    I know this does not solve your problem, but at least you will understand what is happening a little better.

     

    Tim

    Friday, August 27, 2010 2:02 PM
    Moderator

All replies

  • Well, it will depend on specific factors of the application. How does the application call the office objects?
    Friday, August 20, 2010 11:02 PM
  • I have had a response from the vendor of the business application (finally).  If I use file associasions to associate Office 2003 with .doc etc then will it affect all applications running on the user's session both inside and outside the virtual environment?  In other words, will the locally installed copy of Office 2010 be ignored by other applications and files?

    The vendor had this to say:

    Letter template :  it uses the app that corresponds to Word.Application in the COM class registry Opening a word doc :  uses the app to which the .doc / .docx fle extension is assigned by default i.e. the same you'd get if you double clicked on a .doc file in file manager

     

     

     

    Tuesday, August 24, 2010 1:32 PM
  • You can sequence Office 2003 and remove the file type associations from the package; however internally (i.e. in the sequenced registry) the FTAs will still exist (that is, the FTA won't affect Windows and other applications).

    If the business application and Office 2003 are run in the same bubble (use DSC to achieve this), then there's a good chance that the application will launch the Office 2003 applications when it makes a call for Office. You will need to test this scenario to be sure.

    Tuesday, August 24, 2010 9:59 PM
    Moderator
  • Like Aaron said, but please be aware that Office uses DDE for file associations so if you have Office 2007/2010 application running already in the session, new version could be opened instead of Office 2003 version even if you don't have FTAs created on the local system.


    What I would do is to modify registry during sequencing removing DDE parameters from .doc association so that if business application sees Office 2003's .doc registration while linked through DSC it does try to invoke extension with DDE.

     

    Thursday, August 26, 2010 7:13 AM
    Moderator
  • Hello Chaps,

    That seems to have done the trick... to a point:

    - If I don't have anything running and open a normal Excel spreadsheet it's opened in Excel 2010 - good!

    - If I don't have anything running and open the business application and tell it to 'export to Excel' then it spawns Excel 2003 - good!

    - If I open the business application and tell it to 'export to Excel' then it spawns Excel 2003, if I then close Excel 2003 (but leave the business application running) and open a normal spreadsheet then it's opened in Excel 2010 - good!

    - If I leave Excel 2003 open once its been spawned and then try opening a normal Excel spreadsheet it's opened in Excel 2003 - not so good.

    - If I open Excel 2010 before running the business application and tell it to 'export to Excel' then (as you say) it exports to the running Excel 2010 rather than spawning a new dependency instance of Excel 2003 - not so good.

    So, quite positive initially - do you think this DDE parameter business will force the spawning of Excel 2003 even if Excel 2010 is already running?

    Many thanks.

    Chris
    Thursday, August 26, 2010 5:33 PM
  • Hello Again,

    I've tried removing the following entries from the virtual registry of the sequenced version of Excel 2003:

    MACHINE -> SOFTWARE -> Classes:

    Excel.Sheet.8 -> Shell -> New -> ddeexec (and everything below)

    Excel.Sheet.8 -> Shell -> Open -> ddeexec (and everything below)

    This hasn't made any difference sadly.  Am I looking at the correct registry keys?

    Many thanks.

    Chris

    Friday, August 27, 2010 10:44 AM
  • Hello,

    Are those the keys that your program uses?

    /Znack
    Friday, August 27, 2010 12:15 PM
  • Chris,

    Perhaps an explanation on file type association linkages and excel startup is needed?

    When you capture your sequence, the application writes to the registry (such as the keys you noted) to create these associations.  The sequencer notices these associations and makes a copy inside the OSD that is used for publishing.  The publishing action impliments these associations in the real registry of the client.  In that case, removing them from the virtual registry of the application will have no effect.  As your examples illustrate, the placement into the real registry is important for things outside the app to be able to start it.

    Second, Excel exhibits some exceptional startup behavior.  In fact, each of the main office components startup in strange ways, but each is also different from each other.  In the case of Excel, the program attempts to save both memory and visual real-estate. 

    When any excel.exe starts, it looks to see if the user has a running excel.exe process.  If it finds one, it basically passes on the request to the existing process.  The existing process then opens the new workbook inside the same GUI frame.  Within the overall Excel frame, you can now have two workbooks, but just one process.  It is easy not to notice this, because the GUI gives you a start tray entry for each file - making you think they are separate processes.  But try it and check using the task manager.

    This pass the request thing is not stopped by App-V virtual bubbles or different versions of Excel.  So if one version of Excel is open, another might start (with luck, you can sometimes see it in the process explorer) but will then send the request to the other excel.  So the bottom line is that while you can have two versions of word running for the same user at the same time, with excel you can have two versions available but only one running at a time.

    I know this does not solve your problem, but at least you will understand what is happening a little better.

     

    Tim

    Friday, August 27, 2010 2:02 PM
    Moderator
  • Tim,

    Many thanks for this explanation it's just the job and explains exactly the behaviour I've been seeing.  As with many things in local government the solution to this will probably have to be a user education/political one rather than a technical one ;-)

    As long as we tell the users that they can only export from the business application to the legacy version of Excel if the local version isn't running then that should be a suitable workaround.

    As regards to Word, I've done some testing with that this morning and seen precisely the behaviour you describe.  Even if a local Word 2010 instance is running the business app will still spawn Word 2003 correctly to do exports which is fantastic.

    Thanks everyone for the help and suggestions.

    All the best.

    Chris

    Friday, August 27, 2010 2:14 PM