Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

How to set the mergemodule dest dir


8 replies to this topic

JoV

JoV
  • Members
  • 1 posts

Posted 13 September 2001 - 04:54

How can i be able to install each merge module file into the same directory with its corresponding feature during installation.  

Is there anyway doing it from the Wise for Windows Installer Wizard or do i need to run any script?  Any step-by-step solution for this?


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 13 September 2001 - 10:02

I know how to do it in InstallShield, so it must be possible. But I don't know the required steps in Wise.

addi

addi
  • Members
  • 3 posts

Posted 17 October 2001 - 00:40

All right.

I need to know how to do this with InstallShield (through InstallScript)

Can you help me out?


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 October 2001 - 14:24

In the merge module's general settings, enter a period . as the destination path (instread of [ProgramFilesFolder]\Your Company\etc.

When you add the module to your setup, use a propery as the destination location, e.g. [INSTALLDIR].


addi

addi
  • Members
  • 3 posts

Posted 17 October 2001 - 16:48

Ok, here's the raw deal:  I'm using MSDE 2000 Merge Modules, and I need to change the default directories for SqlProgramDir and SqlDataDir, not to mention the namespace and securitymode parameters for the install.

I tried MsiSetProperty in my ISDev7.0 InstallScript (Standard Project, NOT Basic), but they don't seem to take effect for me.

Are you saying I need to go into the MSDE Merge Modules using Orca and modify it?

James


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 October 2001 - 06:56

I was talking about merge module you create yourself. For MSDE there are documented ways to set the directories using properties (as documented here on InstallSite under Windows Installer -> Tools & Tips -> Customizing MSDE 2000 Installation). I guess you are doing this already. The problem is that these properties are not public, i.e. they loose their value when switching from user interface to execute sequence. Therefore you must set their values in the execute sequence using type 51 custom actions, not through InstallScript in the user interface sequence. Note that there are some known issues with ISD7 and the MSDE modules. You may need to update a DLL in ISD. Information about this is can be found in the Bugs Bulletin.


lgedgar

lgedgar
  • Members
  • 1 posts

Posted 27 February 2003 - 20:59

I'm confused...

I have built several merge modules for our software components, all of which have "[TARGETDIR]" specified for the projects' INSTALLDIR.

I then created a basic MSI setup which includes these merge modules. This project has an INSTALLDIR of "[ProgramFilesFolder]MyCompanyName" (as an example). I've changed the properties for all included merge modules to override their destination directory by setting them to "[INSTALLDIR]".

From everything I've read, this is *exactly* how it's supposed to be done. However, upon installation all the merge module files are simply going to C:\ (which is TARGETDIR's value). The MSI setup project itself does not contain any files, but adding one as a test resulted in that particular file being installed to the proper location. What's going on?

Microsoft's MSI documentation seems to indicate that TARGETDIR is the destination for an administrative image during an ADMIN action, and *also* the root destination for all files during an INSTALL action. Why has InstallShield taken it upon themselves to change this behavior? And is that why I'm seeing unexpected results? (If so, what's the workaround?)

Any help on this issue is more than welcome!

Lance

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 26 January 2004 - 00:59

After adding the merge module to your project, make sure you are in the "redistributables" view. Right click your merge module, select "Properties". In the "Destination" box select [INSTALLDIR]. This did the trick for me. But I had exactly the same problem you had. I don't think the documentation is too good...

The MFC 7 merge module actually asks the users what the destination directory should be when you add it. Any idea how this can be done?
Regards
-Stein Åsmul

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 26 January 2004 - 01:17

One more thing: I dont specify [INSTALLDIR] for the merge module components. Instead I write [TARGETDIR]SUBDIR and then Installshield Developer removes [TARGETDIR] and leaves only the sub folder path. I assume this is the right way to do it. At least it works here.
Regards
-Stein Åsmul