PDA

View Full Version : How do I check what version is registered w/ the Agent, for a given product?



smcgill
06-04-2003, 10:24 AM
I would like to programatically check what version has been registered w/ the update agent for a given product. I didn't see any methods on the IAgentEx interface to do so...

Is there presently a way to do this w/ the installshield update service automation objects? If not, is there a registry entry I can check?

Chris Woerner
06-04-2003, 05:33 PM
This is not exposed. The Update Service Agent reads the information from either MSI or the local Update Service datastore. Which InstallShield tool are you using to create your installations?

MikeDavidson
06-29-2003, 06:51 PM
Would it be safe to inspect/edit the Version setting in the file [guid].ini in folder "Prog Files\...\UpdateService\Database"?

If not, then I would concur that being able to view the registered version, as a property of the Agent, would be beneficial. I'd want to inspect that value so that I could retrofit the Update Service into an existing installation without creating an entire MSI setup.

If I could code my app to determine what version is registered with the [local] Update Service (if at all), I could get that info from the user and then add the appropriate update package on the IUS web site so that they can get an update.

On the other hand, could I give the user the ISTest.exe program to view the version number? (Are we licensed to distribute that?)

Chris Woerner
07-02-2003, 12:04 PM
You can't just use [guid].ini file. I don't want to write all the design considerations for why we do this, but we go through a series of checks to find the version.

I am willing to expose that via an API, but help me understand more how that would help to retrofit a non-MSI installation? I am very curious, but I'm afraid that I didn't following the last posting.

You still need to include the ISUS runtime in an old installation and add a call from your application. How does having an API to tell you the version help?

MikeDavidson
07-02-2003, 12:57 PM
I have an app that has been deployed before and after our enrollment in the UpdateService. I would like to get those installations that occurred beforehand updated to use the service.

I was thinking that I could create a Utility that would be installed with the Service files. This utility would be designed to figure out if myApp was installed with or without the ISUS. If not, it could call the Agent's Register method to register the application (correct?)

Maybe this wouldn't work. Maybe the MSI installation with ISUS does many other things that my plan does not cover. I was just thinking about how to retrofit some of these installations without requiring a reinstall. :)

Chris Woerner
07-02-2003, 01:17 PM
When you add the ISUS to an installation it does two things:

1. installs the ISUS runtime files
2. calls register to register the application

So you could easily write a small utility to do what you describe. Doing that would get your applicaiton properly registered. How would the old application invoke or call the ISUS?

MikeDavidson
07-02-2003, 01:36 PM
I'd provide a new exe that is programmed to update via menu call. The exe would be manually downloaded from a website.

Question: when the ISUS items are installed on a computer, are there com registration activities done for the ISUS itself? Or could an xcopy of the various ISUS files be done (after checking to see if they are already there).

Chris Woerner
07-02-2003, 01:41 PM
there is com registration, so xcopy won't work. one possible solution is to put the utility into an installation that also installs the ISUS runtime files. another option is to install the new menu option EXE with the ISUS runtime.