cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Fred_Oisund
Level 4

Files not replaced during upgrade

I have this Installscript MSI project where some files are not replaced/updated during an upgrade.

The files were initially added to the project by means of DynamicFileLinking, and installs OK during first installation.

The product version is bumped from 4.00.015 to 4.00.016, and all exe and dll files are replaced ok, but the files that was dynamically linked are not.

I have tried to remove the directory along with all the corresponding components from the project and re-added them without using DynamicFileLinking, but they still do not get replaced during the upgrade!


During the validation process I get several of these error messages:
Val0010: The data in component '_8887F6C67A43FD58D9111B6637B6B621' differs from the previous setup. However, this component will not reinstall in an upgrade scenario. Therefore, the changes will not be applied to the target system during the upgrade. Table: 'CreateFolder' Record: '_6914D42E62CA4C1F876A297D2097EE7A;_8887F6C67A43FD58D9111B6637B6B621' d:\docume~1\fred\locals~1\temp\7d3\project.msi


After I did my stunt to delete the DynamicFilelinking and use static instead, it changed to:

ISDEV : error Val0006: The Component '_21CCF5A713A22BF4CED2BDA20546EE0E' identified by ComponentID '{21CCF5A7-713A-22BF-4CED-2BDA20546EE0}' is missing from the newest version of your setup. You can not delete components and still do a minor/small upgrade. You must perform a major upgrade. d:\docume~1\fred\locals~1\temp\7d4\project.msi


I've tried to replicate the problem on a small test project, but couldn't.

Any ideas how to get around this :confused:
Labels (1)
0 Kudos

(9) Replies
Fred_Oisund
Level 4

Bump to top 🙂
0 Kudos
Kovalenko
Level 6

Hello Fred,

Did you have your application installed between initial version of your setup and when you applied your "stunt" setup?
0 Kudos
Michaella
Level 3

Fred, i'm with you!!
same problems :confused:
but where did you get this error messages?? where can i see them? i didnt got any, not during compilation time, and nor running time.

i'm using the exact same project, and same problem with the dynamic files, and the converting to static files try....but upgrade is not copy files, not adding new ones, new components, not updating new files (even try new features but --> nothing
and still upgrade running gui is announcing a good ending.

anyone suggestions? please

things i tried with no success:
1. add/remove previous package from the release properties
2. choose same key file as before(previous installation proj)/new key file... no key file at all for the components

thank you!
0 Kudos
Fred_Oisund
Level 4

Kovalenko wrote:
Hello Fred,

Did you have your application installed between initial version of your setup and when you applied your "stunt" setup?


I'm not sure what you mean by this.. I do not have the application installed on the computer I compile setups on, I only use VMWare for testing, and I have a range of older version I revert to to test upgrades. The case is that it used to work and at some point (version) it stopped upgarding the files contained deep in a subdirectory that was dynamically linked.

The validation process during build indicated that some files will not be ugraded because there were no changes in the keyfiles (which doesnt exist in dynamically linked components). Therefore I deleted the dynamically linked directory structure and readded it static, and even specified one of the files as a keyfile, and in the properties of the keyfile I specified that it should always be overwritten, but no cigar!

I've been struggeling with this for weeks now, and I'm getting pretty sure its a bug in InstallShield. I'm actually considering a support ticket at Acresso, but they want €250 pr. insident, with a 2 day response time! Nice going!

:mad:

--
Regards
Fred
0 Kudos
SherylSikora
Level 6 Flexeran
Level 6 Flexeran

When there isn't a key path specifically identified in a component, then the directory of the component becomes the key path. With dynamic links that contain sub-folders, I believe that the first file in the sub-folder gets marked as the key path.
Open up your built msi package and look for the key file that is within the component that contains the file you want to upgrade. If you somehow update that key file, then I think that all of the files in that component that have changed will actually upgrade. Give that a try and see if that works for you.
This is one of the reasons why I think dynamic links are undesirable in an install that you plan on upgrading or patching at some point.
(If my reply answers a question you have raised, please click "ACCEPT AS SOLUTION".)
0 Kudos
Michaella
Level 3

Same problem as Fred
I opened the msi, and saw all the key files, i converted my project to use only static files. i tried to select the same key file (that was modified), tried to use new key file and tried no key file at all nothing worked for me.
I created a new component in the version of upgrade and uses one static new file --> the file not been added.
I thought maybe new feature will solve it, but no success (i created new feature, with new component and file - but the file has not been added.
what is the rule for new feature? new components? in upgrade?

I tried to run the msi file with log in a repair mode with forced file rules but it didnt worked, i saw in the log about every file i have the message "file eligable not patch" and product code not found in database (and also a recomndation to run only the exe file, and not the msi file)

if i'm creating an upgrade using the old version of install shield (10.5) the upgrade works just fine.

I'm frustrated :S
0 Kudos
Fred_Oisund
Level 4

Thank you Sheryl for pointing this out!

Only way I got this working was to revert my project back to Dynamically Linked filestructure, identify the keyfiles associated with each subdirectory and change them.

The keyfiles had to be identifyed by opening the produced .msi file and find the components reported by the validator, identified by some cryptic hexstrings!

Anyway, is it now possible to change the keyfile for future upgrades, or do we have to stick with the random ones generated when the Dynamic linking occured?
0 Kudos
SherylSikora
Level 6 Flexeran
Level 6 Flexeran

I belive that you will have to stick to the original key files unless you do a major upgrade.
(If my reply answers a question you have raised, please click "ACCEPT AS SOLUTION".)
0 Kudos
Michaella
Level 3

My problem also solved, when first returned to work with dynamic files the upgrade didnt worked. The problem in my project caused beacuse of changing the path of source files of the dynamic components. when i returned it to original source it worked.
this the link that recomands on fixed directories.

http://kb.acresso.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q106247&sliceId=1&docTypeID=DT_INFO_1_1&dialogID=9870364&stateId=0%200%209866832
like it says - "Do not change this hierarchy going from the original package to the upgraded package as this breaks the MSI rule for creating a patch."

hope it will help anyone 🙂
0 Kudos