-1

Assume that we have msi x.msi and it is installing a xap file.

We want to overwrite the xap file via another msi (for ex. using y.msi).

Is it possible to overwrite via another msi? will it have any problem as it will not have any version number associated with?

If it is possible what will happen if we uninstall x.msi ?

Is it advisable to overwrite a file installed by another msi?

Samselvaprabu
  • 16,830
  • 32
  • 144
  • 230

1 Answers1

2

XAP files, despite being application binaries, don't have version resoures so Windows Installer can't properly version it. As a result you could get into DLL hell in that the last package on would get installed.

To mitigate this, consider building a meaningless DLL with a version and use that as the keyfile of the component. This way MSI will evaluate installation based on the DLL version. This should prevent version conflicts of the XAP.

Be sure that both MSI's have the same component ID's and that the component is marked as shared. This will accommodate correct referencing so that the last uninstall will remove the component.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100