The Kinetic Jump site navigation header requires JavaScript to be enabled and the latest version of the Macromedia Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by downloading here.

Welcome Guest Search | Active Topics | Log In | Register

Updating a virtual application Options
ruudst
#1 Posted : Tuesday, January 13, 2009 6:09:40 AM
Rank: Newbie
Groups: Member

Joined: 1/13/2009
Posts: 3

Hi,

 

I have bought your product end last year and included it already in several projects. It works perfectly. Now i have a new challenge by developing a "sandbox" or virtual application. I will do this with Xenocode Virtual Application studio. How should  Applife be implemented in such a application so that the virtual file is updated?

Do you have some experience with such a scenario?

 

Thanks in advance

 

Regards,

Ruud Stumpel

 

brianh
#2 Posted : Tuesday, January 13, 2009 6:14:15 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 351
Location: Minnesota

Hello Ruud,

 

Configure Xenocode to spawn child processes outside of the VM.  The .Net Framework 2.0 or above will need to be present on the client.

Brian Haas
Kinetic Jump Software
ruudst
#3 Posted : Monday, January 19, 2009 4:52:08 AM
Rank: Newbie
Groups: Member

Joined: 1/13/2009
Posts: 3

Hi Brian,

 

Thanks for your reply form last week. I've managed to get updates of the virtual file. This file however will be installed on different networks with different drives. Lifeupdate copies the updated virtual file always to the map as configured within the Lifeupdate project. e.g. application directory. Can i can change this directory at runtime to the application startup directory ? Or is there another way to get the updated virtual file in the right place?

 

Thanks

 

Ruud Stumpel

 

brianh
#4 Posted : Monday, January 19, 2009 5:17:20 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 351
Location: Minnesota

The Application Directory should already be the physical location of the running application on your clients.  If this is not the physical location of the virtualized Xenocode host file, is it consistently relative to it?  You can move up and down the client file system hierarchy with the Location property. (e.g [ApplicationDirectoy]\..\..\Higher Folder)

 

If that doesnt work, you can use the OverrideHostProcessInfo method of the update controller.  Call this method, passing in your application process name and the location of your virtual host file before you call ApplyUpdate. The path that you pass in will map to the ApplicationDirectory of your update project. 

Brian Haas
Kinetic Jump Software
ruudst
#5 Posted : Monday, January 19, 2009 6:44:09 AM
Rank: Newbie
Groups: Member

Joined: 1/13/2009
Posts: 3

The virtualized file is not installed in the default application directory but on a network drive. e.g. F:\Apps\Test, so the first option will not work.

I have tried the second suggestion but no luck with that one either.

The update process itself works as it should be.

In the application my code is as follows:

 

In the form_load event:

 

UpdateController1.CheckForUpdateAsync()

 

In the UpdateController1_CheckForUpdateCompleted event:

 

If e.Result Then

   UpdateController1.DownloadUpdateAsync()

Endif

 

In the UpdateController1_DownloadUpdateCompleted event:

 

UpdateController1.OverrideHostProcessInfo("TMS-Suite-XENO.exe", Application.StartupPath)

UpdateController1.ApplyUpdate(Kjs.AppLife.Update.Controller.ApplyUpdateOptions.AutoClose)

 

 

The updated virtualized file ends up in the root of \Program Files and the orginal file is not closed so it can't be updated!!

 

Any suggestions?

 

Thanks for your cooperation

 

Ruud Stumpel

 

 

 

brianh
#6 Posted : Monday, January 19, 2009 7:17:13 AM
Rank: Administration
Groups: Member, Administration

Joined: 5/24/2007
Posts: 351
Location: Minnesota

Application.StartupPath returns the path of the exectuable that started the application, not including the executable name.  It looks like this is returning a program files directory from within the virtual application, which is the same directory the Update Controller thinks your application starts from. 

 

You need to be able to locate the Xenocode file from within your application code.  I can't tell you how to do this as I am not familiar with Xenocode.  I know we have other customers who update Xenocode virtualized applications so there must be a way to do it through a Xenocode library.

 

When you use the OverrideHostAssemblyInfo method, the Process Name should exclude the extension, and the assemblyLocation should include the full location including the file name.  Your application will close once you exclude the .exe extesion on the ProcessName.  You will still need to be able to determine the location of your original Xenocoded file.

 

 

Brian Haas
Kinetic Jump Software
Users browsing this topic
Guest
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.