PDA

View Full Version : ISX 3.53 does not register for Update Service properly



mrsharkbait
05-22-2002, 06:50 PM
I have created a product installer from scratch, using ISX 3.53 and specifically included the Update Service Merge Module. I set a GUID for the product code, and assigned a version number 1.00.0000.

I logged into the Update Service, created a new product, cut and pasted the GUID, and created a version 1.00.0000 entry.

I then created an informational message, update event set to End of Installation as well as Next Use, and assigned message to v1.00.0000.

Problem 1) I ran the installer, and the message I created did not appear at the end of installation.

Problem 2) I used the command line and manually invoked Agent.exe using -au and -AppMenu options and I get the response dialog "Product Not registered".

After trying different scenarios for HOURS, I tried to use the -r option and manually registered the app. Everything worked afterwards.

Can someone please tell me if I'm doing something wrong, if not please confirm this bug.

Chris Woerner
05-23-2002, 09:57 AM
I am sorry that you spent hours on this. You hit the most common problem with the Update Service. The "product not registered" message. There are three causes of this.

1. You didn't include the merge module into your installation
2. You didn't register the product on the website
3. You didn't register the version on the website.

Based on your comments, I believe the version is catching you. In short, the Update Service only uses the major.minor portion of the version string. Thus, when the Update Service runtime goes to the website looking for your product and version, it is taking the product GUID and "1.00" > not the full "1.00.0000". Try changing the version on the website to 1.00. I think that will solve your problem.

The reason we ignore the third part of the version is that many of our customers use that field as the build. (major.minor.build) As the build number changes each day, we ignore that part of version string. If desired, you can override this behavior.

We recognize this error has caused many issues. We are actively working to make this easier. Express 3.54 will have a built-in property sheet, which will do the product registration directly from within the IDE. Also, we will begin shipping a debugging tool to help you determine the cause of the "product not registered" message.

Chris Woerner
05-23-2002, 10:07 AM
When you author a message in the Update Service website, you are given the option to have the message displayed at "End of Install".

This option works with the AppUpdate function. When you call AppUpdate you pass an arguement. For example:

pAgent.AppUpdate "{C4091E43-4FC0-11D5-8C6C-00104B9747FA}", AppMenu

AppMenu - when you are calling the Update Serivce from a menu option
AppStart - when you are calling the Update Service during your application startup
EndInstall - when you are calling the Update Service from the end of the installation

This gives you the power to selectively publish updates to users calling the Update Service at different times. For example, if you have an optional update you may only want to publish it to a user who manually called the Update Service from the menu. However, you may want to publish an important update to all three.

To directly answer the question on EndInstall - Express 3.54 will have a new finish dialog that prompts the user to check for updates. Developer 7.03 already has this dialog. The next release of Professional will also contain this new dialog. For now, Express 3.53 users will have to wait until for 3.54 to use this functionality.

mrsharkbait
05-23-2002, 01:27 PM
Chris,

I paid attention to the version number also, as described in my first message. I made sure 1.00.0000 was the version number used both in the version registration and in the installer.

I still think you have a bug in ISX 3.53.

Eugene Loch