Common Files deployed by different installs
I have a scenario where I have to deploy files to the GAC for one install and another install that places these files in the file system (for our SDK users). We currently have an MSI Install created in InstallShield that places the Assemblies into the GAC but for business reasons we are not allowing this install to place these files in the Files system.
Is there any reason to worry about placing the same files in different locations by using different installs? I am against this idea, but don't have enough reasons to back it up.
I thought of calling the "GAC Install" as a prereq of the one MSI installer that needs it and passing it properties that will change the install dir of the files, but sit with the problem of these files remaining on the machine when you uninstall (which is a big concern on a silent uninstall!).
I thought of calling the "GAC Install" as a prereq of the one MSI installer that needs it and passing it properties that will change the install dir of the files, but sit with the problem of these files remaining on the machine when you uninstall (which is a big concern on a silent uninstall!).
0 Comments
[ + ] Show comments
Answers (7)
Please log in to answer
Posted by:
kiptek
15 years ago
Posted by:
Ray_Portrait
15 years ago
ah, this is where the fun starts. If you set the Component to install to INSTALLDIR, which is set as TARGETDIR and build the msm file, include it into your project and try to overwrite the install location, you dont get GlobalAssemblyCache as an option. if you manually type this in then the file doesn't make it into the GAC. I tried editing the TARGETDIR location directly in the Directory table but this was unsuccessful
Posted by:
kiptek
15 years ago
are you building the merge module yourself or is this provided to you? In looking @ the details of the msm, what are the destination directories contained therein for the files?
please do not edit the TARGETDIR property to try and change the installation directories as this should be resolved by settings in your directory table relative to the SourceDir property. By default, it will probably reference your ROOTDRIVE property & manipulating the INSTALLDIR property should suffice. unless of course it is absolutely necessary e.g. with a multidrive install.
please do not edit the TARGETDIR property to try and change the installation directories as this should be resolved by settings in your directory table relative to the SourceDir property. By default, it will probably reference your ROOTDRIVE property & manipulating the INSTALLDIR property should suffice. unless of course it is absolutely necessary e.g. with a multidrive install.
Posted by:
Ray_Portrait
15 years ago
the MM in question is one that I have just whipped up. Yes, agreed - messing with the TARGETDIR was not clever nor was it smart.
I basically want the ability to use the MM to deploy files to either the GAC or to the file system. MM was the closest to the things that we tried, but unfortunately you can't overwrite the MM's TARGETDIR from the calling install to deploy to GAC (I am assuming that it is preventing install time errors in the cases where you are trying to deploy files to the GAC that shouldn't be there).
We basically have a set of files installed by 2 projects that go to different places (yuk) and MM seemed to give the most control over situations like this!
I basically want the ability to use the MM to deploy files to either the GAC or to the file system. MM was the closest to the things that we tried, but unfortunately you can't overwrite the MM's TARGETDIR from the calling install to deploy to GAC (I am assuming that it is preventing install time errors in the cases where you are trying to deploy files to the GAC that shouldn't be there).
We basically have a set of files installed by 2 projects that go to different places (yuk) and MM seemed to give the most control over situations like this!
Posted by:
kiptek
15 years ago
======================
Edited - too quick to the trigger
======================
I would create 2 MSM with the files going to the different destinations then have their install governed by a property e.g. SDK_INSTALL=0/1 to manage the type of install. Don't know if you can do this on a component level or you will have to put them in separate conditioned features.
Edited - too quick to the trigger
======================
I would create 2 MSM with the files going to the different destinations then have their install governed by a property e.g. SDK_INSTALL=0/1 to manage the type of install. Don't know if you can do this on a component level or you will have to put them in separate conditioned features.
Posted by:
Ray_Portrait
15 years ago
That's pretty much the route that I have taken. It isn't great that 2 installs will be deploying the files to different places but it is the easier way forward to manage - as long as both installs have the same version of the files we should be ok. The way you have suggested will have to be conditional features as this is where the MMs get included.
Posted by:
kiptek
15 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.