VMware Horizon Community
stonehill
Contributor
Contributor

Change file at runtime

We have two programs, let's call them A and B.
When I make virtual applications of these two programs the installation program creates an ini file in both programs that have paths they use. We have made a vbscript which we insert in both programs. That load a new ini file to change the paths of the programs and it works perfectly. When we start the program A, we see that they new paths are there and if we start the program B it has the new paths too. But now to where we fail. When we start the program A and from program A we start program B then program B have not the new paths, it has paths that were created during the virtualization of application B. It looks like that when we start the program B from program A it does not start vbscript for program B.
If I go and look, there are the new ini file in the sand box for program B, but when we start the program B that way as I just explained program B not read ini file program B's own sandbox.
What to do.
I hope you understand what i mean, it's very difficult to explain i english.

Reply
0 Kudos
2 Replies
pbjork
VMware Employee
VMware Employee

I would look for a way to store this file on the physical environment, outside from the Sandbox. Both applications using merged on the location.

Need more details on isolation modes? Look at this blog post: http://blogs.vmware.com/thinapp/2011/04/thinapp-isolation-modes-explained.html

Reply
0 Kudos
TobyFruthParson
Enthusiast
Enthusiast

I tend to agree with Mr. Bjork's assessment, but I wish to offer what I believe is clarifying language regarding your dilemma.

From the sounds of things, the path needs to be updated at application launch.  Launched individually (and directly) each application seems to run the VBscript and make the necessary path updates.  If Application B is started by an action taken within Application A, Application B does not seem to make the necessary path adjustments.

Honestly, I would expect the solution to work as you have described it based on your approach.  The VBscript should be run and result in the expected behavior.  This makes me think that you have encountered a bug, or the behavior you are seeing is part of the ThinApp design.

While not directly related, consider the following from page 49 of the ThinApp 4.7 manual PDF:

Completing the Application Sync Process When Applications Create Child Processes

When a captured application creates child processes, ThinApp cannot complete the Application Sync process.  For example, you might create Microsoft Office 2003 and Microsoft Office 2007 packages, modify the AppSyncURL parameter in the Package.ini file for both packages, and copy the Microsoft Office 2007 package to a Web server and the Microsoft Office 2003 package to a client machine.

If you start the Microsoft Office 2003 package before the expiration time set in the AppSyncExpirePeriod parameter of the Package.ini file, ThinApp can download the update in the background as you work with the application but unable to show the updated version the next time you start the application.

If you start the application after the package expires, ThinApp is unable to download the update in the foreground and restart the application when the download is ready.

Microsoft Office 2003 and Microsoft Office 2007 are examples of applications that create child processes.  ThinApp cannot complete Application Sync updates until all child processes stop. You can perform one of the following tasks to resolve the issue:

  • Log out and log in to the machine to stop the child processes.
  • Create a script to end the child processes.
    For example, you can create a script to end the ctfmon.exe and mdm.exe child processes associated with
    Microsoft Office 2003 and Microsoft Office 2007.
  • Prevent the startup of the child process, such as the ctfmon.exe process associated with Microsoft Office
    and Internet Explorer applications.

You may also want to start reading at page 71 of the ThinApp 4.7 manual PDF.  There you will find the section on scripts and perhaps there's some really small detail you've missed.

You could upload the scripts here for the community to compare.

Toby Fruth, Sr. Specialist, The Parsons Corporation
Reply
0 Kudos