cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
CChong
Level 11 Flexeran
Level 11 Flexeran

Product version not updated in the ini file

Here is what I found,
Let's call A a first generation of an installer for the product X and B the second.
The first version of A do not contain InstallShield Update Service, so it just install X (revision 1.0). A second version of A update X (revision 1.2) and install InstallShield Update Service. No problem so far. We can have a third version of A that update X (revision 1.3) and update the ini file to reflect this new revision.
Now we use the new generation of installer B. It update X (revision 2.0) but he will not update the ini file so IsntallShield Update Service still show revision 1.3 :confused:
If you install update X again with a B installer to go to revision 2.1 InstallShield Update Service still show revision 1.3 :confused:
The weird part is that if you first install X with B (revision 2.0) the ini file reflect the correct version and upgrade to 2.1 works also.
So I'm confuse there is no difference in the code between A and B.
Am I missing something, or is there a bug in InstallShield Update Service.

I'm using InstallShield Professional 6.31 and InstallShield Update Object version 1.20 for both installer A and B
The code is the same and really simple as describe in the documentation:
In OnBegin:

// register to update service
set oObject = GetObject("InstallShield Update Service");
oObject.ProductCode = PRODUCT_GUID; //GUID of X
oObject.ProductVersion = szVersion; // Version of X

If you have any input or solution about this problem please let me know.

Thanks
-- Renaud
0 Kudos
(22) Replies
diazobe
Level 3

Hello Renaud,

For some reason I was not able to get your sample to work either. I know that you mentioned that you had modified the project files for your setup outside of the IDE, so it is possible that your project may be corrupted.

All I did in my sample was to make a copy via windows explorer of Inst1, opened the copied version, deleted all the FileGroups and Components, created the components and FGs that you see in the sample, and added the code to select components 'A' and 'B', and to set the properties for the Update Service.

Unfortunately, I cannot think of anything else to try for this particular problem. My personal suggestion would be to do what I did, and recreate your version 2 installer from the version 1 installer.

Best regards,

-Obed
0 Kudos
CChong
Level 11 Flexeran
Level 11 Flexeran

Me again 🙂

I succeed to make my example work, but I have no idea why it works. It sounds like a bug to me.

Here is my findings:

I notice that if you unselect and select again the component in the SdComponentTree dialog box it works. So I did the same but in the code... and it works!

So I add those lines to make it work:
nResult = ComponentSelectItem(MEDIA, "Main App", FALSE);
nResult = ComponentSelectItem(MEDIA, "Update Service", TRUE);
nResult = ComponentSelectItem(MEDIA, "Update Service", FALSE);
nResult = ComponentSelectItem(MEDIA, "Main App", TRUE);

The fourth line will also select "Update Service" because of the dependency. That is also because of the dependency that I unselect "Main App" before trying to change "Update Service" status.
If you remove the second line it doesn't work. The behavior is really weird. Maybe you can give me some lights on this findings.

Thanks
-- Renaud
0 Kudos