Client Setup Methods |
Post Reply |
Author | |
markmark
Senior Member Joined: 30 November 2007 Status: Offline Points: 142 |
Post Options
Thanks(0)
Posted: 14 July 2008 at 3:23am |
Hi When Codejock release a new version, how do you update your customers to your latest release of your app using the new codejock version? At present I add the ocx to my existing set-up, and get the clients to run the set-up again on all pc’s This set-up is only a runtime set-up, as the app I distribute is run from a network. What I was thinking was at the start-up of our app it would detect that it doesn’t have the latest codejock ocx and automatically run a set-up from the server. Not to sure how I would do this yet and then it would also depend on them having admin rights to! Does anyone have any better method? Thanks |
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
Baldur
Senior Member Joined: 22 November 2006 Location: Germany Status: Offline Points: 244 |
Post Options
Thanks(0)
|
Your app must be compiled with the new versions, it works not automaticly with the new ocx's.
So you must redistribute your application.
Better is to deinstall (with the installer) the old one and install the new.
Some installers can do this automaticly for you, but your application must also have a new version-no.
|
|
Mr.Den
Groupie Joined: 26 August 2007 Status: Offline Points: 50 |
Post Options
Thanks(0)
|
I use an app that is a menu of shortcuts to applications held on our server. It uses a lookup table to find the path to the most recent version on the server. If I need to update a control, I use this method: When the user runs an app, I first launch a small executable that checks the version of the control installed on the client machine.
If it is outdated, I use the command line options of windows installer to uninstall the msi (also on the server) of the outdated control.
I then run a msi installer to install the new version.
Last but not least, shell to the application the user needed to run in the first place.
To uninstall a product Parameters Examples msiexec /x Example.msi
|
|
markmark
Senior Member Joined: 30 November 2007 Status: Offline Points: 142 |
Post Options
Thanks(0)
|
Mr Den Thanks you very much for your detailed reply.. I will take the time to investigate this further. It really looks like something I would like to do. Do you do your version checking with vb6 app as well as the shelling of the Windows installer? Thanks again |
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
Baldur
Senior Member Joined: 22 November 2006 Location: Germany Status: Offline Points: 244 |
Post Options
Thanks(0)
|
Attention:
If you use VB6, you NEED to recompile the application, because VB6-runtime checks the existence of the ocx-files.
The above method only works, if the Typelib-Id and CLSID's of the newer controls doesn't change.
The CJ's controls are changed.
I have tried this with my application and if i don't recompile, the application can't be started.
|
|
Mr.Den
Groupie Joined: 26 August 2007 Status: Offline Points: 50 |
Post Options
Thanks(0)
|
Mark,
I use the filesystemobject to do the version checking in a vb6 application.
Jim
|
|
Mr.Den
Groupie Joined: 26 August 2007 Status: Offline Points: 50 |
Post Options
Thanks(0)
|
Agreed, I do recompile the application, and then copy it to our server, and update the link to the executable on the client machine with a common lookup table also on our server.
This works out better for me, I do not have to go to each workstation to do version maintenance.
Jim
|
|
Baldur
Senior Member Joined: 22 November 2006 Location: Germany Status: Offline Points: 244 |
Post Options
Thanks(0)
|
Yes you can, but COM-Objects needs to be registred locally in the registry.
You can do this with a reg-file, but the path to the controls himselve must also than link to the server.
|
|
markmark
Senior Member Joined: 30 November 2007 Status: Offline Points: 142 |
Post Options
Thanks(0)
|
Baldur Thanks for your help. I do recompile my app against the new versions of CJ ocx. I am about to go from version 11.1.3 to 12.0.1 and am not looking forward to having to go through all the client pc’s and run a set-up manually. Our main app sits on the server and each client pc has a shortcut to it. I only then have to distribute the run time for our app. If I can automate this without visiting each PC, it would save a lot of effort. So I'm just looking for a good tried and tested way. I.e. asking you guys Thanks |
|
Product: Xtreme SuitePro (ActiveX) version 13.0.0
Platform: Windows XP (32bit) - SP 2 Language: Visual Basic 6.0 |
|
Mr.Den
Groupie Joined: 26 August 2007 Status: Offline Points: 50 |
Post Options
Thanks(0)
|
Mark,
Here is the batch file my VB6 app generates and then runs to uninstall Pack 3 SP1 (which holds codejock components) and install Pack 3 SP2
I write the batch file to the folder on the server that holds the MSI files, easier than having to put in an absolute path to the MSI.
msiexec /x Pack3_SP1.msi /quiet /log c:\U3SP1.log
msiexec /i Pack3_SP2.msi /quiet /log c:\I3SP2.log Again, I only write the batch file and execute it if the version does not match what I am upgrading to.
I have often wanted to automate it more by having the VB6 app read from config files so I dont have to change and recompile it when a new version is out, but have not had the time to do so yet.
|
|
Mr.Den
Groupie Joined: 26 August 2007 Status: Offline Points: 50 |
Post Options
Thanks(0)
|
Baldur,
I use Windows installer to register my components to the computers system32 folder.
The server is a Novell 5.1 server if that makes any difference, I have never had an opportunity to try this on a windows server, but I would think that even on windows server, if a component is present and registered on the users machine, it should still work fine.
If I am not mistaken, the executable will look in several places to find components, beginning with the app.path folder and ending with the system32 folder.
I can say for sure it works here, and works very well.
Jim
|
|
jpbro
Senior Member Joined: 12 January 2007 Status: Offline Points: 1355 |
Post Options
Thanks(0)
|
If your clients are all WindowsXP+, you could try registryless COM instantiation using a manifest file. Check out this example by JantjeKeizer:
https://forum.codejock.com/forum_posts.asp?TID=11194 |
|
Product: Xtreme SuitePro (ActiveX) version 16.2.6
Platform: Windows XP - SP3 Language: Visual Basic 6.0 SP6 |
|
Post Reply | |
Tweet
|
Forum Jump | Forum Permissions 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 |