cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
grparsec
Level 7

ReinstallMode in Minor Upgrade

can I have ReinstallMode = a in a Minor Upgrade? I receive a bunch on Val0004 and Val0006 error when I build my upgrade I don't know hoe to get rid of them.
Any idea?
Thanks
Labels (1)
0 Kudos
(7) Replies
DebbieL
Level 17

Val0006 occurs if you delete a component or a feature as part of your minor upgrade. Minor upgrades cannot delete components or features. You'd have to create a major upgrade.

As a workaround, if you are deleting a component, you might want to consider having your component install a "fake" file (maybe a 0 KB file), instead of deleting the component entirely.

There is a problem with Val0004. It is logged as issue IOC-000074857. A Val0004 error should occur only in the following cases:

  • The key file of a component in the previous package has a higher version than the key file of the new package.
  • The key file of a component in the previous package has a version, but the same file in the new package does not.

However, Val0004 might occur in the following cases:

  • You addded a new file to a component but you did not change the key file.
  • A file in a component of the upgrade was different from the file in the previous package, but the key file for that component did not change.
  • A file in a component was marked as a companion file, and it was different from the file in the previous package. However, you did not change the companion parent file.

If a Val0004 error occurs for these reasons, you should be able to safely ignore the error. Just double-check that the key file of the component in the upgrade has a version number that is higher than or equal to the version in the earlier package.

I hope that helps.
0 Kudos
grparsec
Level 7

Thank you very much DebbieL.

Regarding Val0006, I am not deleting any Component or feature in my setup. I am deleting a couple of files and I'm addressing them in RemoveFile table. I am not sure why I'm getting this error!!!

Regarding Val0004, the error is referring to some files in components that cannot find. The error does not mention the file or component's name, it is referring to them by some ID numbers that I cannot locate in my setup. For Example:
ISDEV : error Val0004: The file '_2FE0B6B4F8EFCC2121DC155A94288512' in component '_BF66187DC66ABBD22B07A7683DA098DA' is different from the file in the previous package, but the key file for this component did not change. As a result, the changed file will not get installed in an upgrade scenario. Place this file in its own new component. \\ServeName\MyProject\MySetup.msi

How can I tell what these IDs are while they don't exist in the DirectEditor.

Thank you again.
0 Kudos
DebbieL
Level 17

Hmm. Are you using dynamic file linking?
0 Kudos
grparsec
Level 7

Yes I am using dynamic file linking.
0 Kudos
DebbieL
Level 17

Are you using the patch optimization functionality in your build settings, as described in the following help topic?
Upgrade Considerations
If not, try that, and see if that helps.

Note that I think it might not be possible to use a minor upgrade to delete or remove files that were dynamically linked in your earlier version. (Again, as a workaround, you might want to consider replacing these files with "fake" files. I thinnk that the only alternative might be to switch to a major upgrade.)
0 Kudos
grparsec
Level 7

Thank you again.

The files that I deleted where not dynamically linked.
0 Kudos
DebbieL
Level 17

Did you try the patch optimatization in your build settings? The following help topic has more information on why this is necessary if your upgrade contains dynamically linked files:
Determining the Appropriate Component Creation Method for Dynamically Linked Files
0 Kudos