IA can't handle multiple versions of same file into WinSxS?
Posted: Wed Sep 10, 2008 10:36 pm
Hey all,
I've had pretty poor luck with InstallAware so far, I'm afraid. I really really really LIKE USING IT. I've used InstallShield and WiX both and I really appreciate how quickly I can make decent installations through InstallAware. The problem seems to be that I keep running into things it just can't handle as far as I can tell. The inability to condition merge modules to specific features was the big one - that means we can't use InstallAware for a large percentage of our installations right off.
Well, ok, fine. I decided with my boss that we would keep using InstallShield and WiX for the more complicated installations that needed conditional merge modules, and I'd see if I could make InstallAware work for quickly getting simpler ones made. Have I mentioned I really like working with it?
Well, my boss gave me a 'last chance' to get it to work on one of our more simpler installation products that needed an overhaul for a new version. That's what I'm working on now...
The problem is that we have a couple client interface libraries that are used in EVERYTHING we ship out. And those libraries have Windows SxS dependencies. And because we've had a couple versions of these libraries so far, we need to install multiple versions of a couple of these libraries. Note: they have the same file names. This is important. It's something you can do in WinSxS - install different versions of the same file so you can disassociate renaming with versioning.
All the components that do this are contained in one merge module that is shared into every one of our current installation packages. It's been working just fine in the InstallShield and WiX installation packages that we use - we install them, both versions of this file make it into WinSxS. However, IA seems unable to handle this - only the NEWER version of this file gets installed.
While talking to support, I looked around a bit as to how this could be IA specific and my guess is that this has to do with how IA does file staging during compilation. It looks like all files installed to the same location from the same module are placed into the same 'data' directory in windows... and since normal windows obviously can't handle two files with the same name at the same time, the older file gets overwritten. Then, when it comes time to install it, that file just isn't there so gets skipped. This, to me, seems to indicate how this could be specific to InstallAware here.
Support is indicating that this is not their problem since it is from the merge module. Yes, it's from the merge module but it WORKS in InstallShield and WiX!
At this point, sure, I'm a little annoyed that I'm getting blown off by support (if that's not what you were intending, unfortunately that's the impression I got - it really came across as a 'not my problem' response). But I'm MOSTLY concerned that here we are on the last chance attempt to actually keep using InstallAware and I've got to go back to my boss and tell him 'they don't handle this module we use in everything'. I don't think he'll care if there's even turns out to be an 'issue with the module' since he'll just tell me 'well, use this installation packages that DO handle it'.
So, basically, as someone who would like to continue using IA, I'm asking if anyone has run into this or has ideas of how to work around it. Or even an acknowledgment from IA that there may be an issue here. At this point, I really don't have much I can take back to my boss.
I've had pretty poor luck with InstallAware so far, I'm afraid. I really really really LIKE USING IT. I've used InstallShield and WiX both and I really appreciate how quickly I can make decent installations through InstallAware. The problem seems to be that I keep running into things it just can't handle as far as I can tell. The inability to condition merge modules to specific features was the big one - that means we can't use InstallAware for a large percentage of our installations right off.
Well, ok, fine. I decided with my boss that we would keep using InstallShield and WiX for the more complicated installations that needed conditional merge modules, and I'd see if I could make InstallAware work for quickly getting simpler ones made. Have I mentioned I really like working with it?
The problem is that we have a couple client interface libraries that are used in EVERYTHING we ship out. And those libraries have Windows SxS dependencies. And because we've had a couple versions of these libraries so far, we need to install multiple versions of a couple of these libraries. Note: they have the same file names. This is important. It's something you can do in WinSxS - install different versions of the same file so you can disassociate renaming with versioning.
All the components that do this are contained in one merge module that is shared into every one of our current installation packages. It's been working just fine in the InstallShield and WiX installation packages that we use - we install them, both versions of this file make it into WinSxS. However, IA seems unable to handle this - only the NEWER version of this file gets installed.
While talking to support, I looked around a bit as to how this could be IA specific and my guess is that this has to do with how IA does file staging during compilation. It looks like all files installed to the same location from the same module are placed into the same 'data' directory in windows... and since normal windows obviously can't handle two files with the same name at the same time, the older file gets overwritten. Then, when it comes time to install it, that file just isn't there so gets skipped. This, to me, seems to indicate how this could be specific to InstallAware here.
Support is indicating that this is not their problem since it is from the merge module. Yes, it's from the merge module but it WORKS in InstallShield and WiX!
At this point, sure, I'm a little annoyed that I'm getting blown off by support (if that's not what you were intending, unfortunately that's the impression I got - it really came across as a 'not my problem' response). But I'm MOSTLY concerned that here we are on the last chance attempt to actually keep using InstallAware and I've got to go back to my boss and tell him 'they don't handle this module we use in everything'. I don't think he'll care if there's even turns out to be an 'issue with the module' since he'll just tell me 'well, use this installation packages that DO handle it'.
So, basically, as someone who would like to continue using IA, I'm asking if anyone has run into this or has ideas of how to work around it. Or even an acknowledgment from IA that there may be an issue here. At this point, I really don't have much I can take back to my boss.