Wise and InstallShield - incompatible merge modules?

Discussion in 'Microsoft Windows 2000 MSI' started by Howard, Sep 7, 2004.

  1. Howard

    Howard Guest

    I have come across a fairly serious problem when creating merge
    modules using Wise. I've searched the web and newsgroups for info, but
    haven't found anything relevant. I'd welcome any info from people
    who've come across this issue.

    The problem is that when the Wise-generated merge module is used in an
    InstallShield installer, the files in the merge module do not go to
    the correct directory. When the same merge module is used in a Wise
    installer, the files go to the right place (as you'd expect).

    Wise says that when creating the merge module, the files should go in
    the folder named "Application". At install time, files in this folder
    will end up in the chosen install location (e.g. C:\Program Files\My
    App). I have created a merge module with files destined for a
    bin\i386-win32 subdirectory, so I create the necessary folders
    relative to the "Application" folder, and put the files in place.

    When such a merge module is used in a Wise installer, things are fine,
    and the files end up in e.g. C:\Program Files\My App\bin\i386-win32.
    The problem comes when InstallShield is used with the Wise-created
    merge module. In this case, the files end up in C:\Program Files\My
    App\Application\bin\i386-win32.

    I was surprised to find no reference on the web/newsgroups to other
    people who have seen this problem. Has anyone come across this? Any
    thoughts on a fix?

    I have reproduced this behaviour on up-to-date demo versions (Wise for
    Windows professional 6.0 and InstallShield X Pro 10). Interestingly,
    if the merge module is created using InstallShield, the files end up
    in the correct place whichever software package is used with the merge
    module. So it looks as though it is definitely Wise that is causing
    the problem.

    I also ran an Orca merge module validation on both the Wise and IS
    merge modules. Wise generated 37 errors, but IS didn't give any
    errors.

    This is a major problem for our software development. I've contacted
    Wise but they have not yet replied with anything useful. It seems that
    the only way to guarantee correct merge module behaviour is to use
    InstallShield rather than Wise to create the merge module.

    Any help or info on this would be much appreciated.

    Howard
     
    Howard, Sep 7, 2004
    #1
    1. Advertisements

  2. Howard

    Guest Guest

    I guess the reason is that Wise uses TARGETDIR as destination property for
    the files, while InstallShield names the property INSTALLDIR. Did you specify
    the merge module destination in InstallShield (right click the module)? As a
    workaround you could have a custom action that sets TARGETDIR to the value of
    [INSTALLDIR].

    --
    Stefan Krueger
    Microsoft Windows Installer MVP

    Windows Installer FAQ
    www.msifaq.com - www.msifaq.de

    InstallSite - Resources for Setup Developers
    www.installsite.org
    www.installsite.de



    "Howard" wrote:

    > I have come across a fairly serious problem when creating merge
    > modules using Wise. I've searched the web and newsgroups for info, but
    > haven't found anything relevant. I'd welcome any info from people
    > who've come across this issue.
    >
    > The problem is that when the Wise-generated merge module is used in an
    > InstallShield installer, the files in the merge module do not go to
    > the correct directory. When the same merge module is used in a Wise
    > installer, the files go to the right place (as you'd expect).
    >
    > Wise says that when creating the merge module, the files should go in
    > the folder named "Application". At install time, files in this folder
    > will end up in the chosen install location (e.g. C:\Program Files\My
    > App). I have created a merge module with files destined for a
    > bin\i386-win32 subdirectory, so I create the necessary folders
    > relative to the "Application" folder, and put the files in place.
    >
    > When such a merge module is used in a Wise installer, things are fine,
    > and the files end up in e.g. C:\Program Files\My App\bin\i386-win32.
    > The problem comes when InstallShield is used with the Wise-created
    > merge module. In this case, the files end up in C:\Program Files\My
    > App\Application\bin\i386-win32.
    >
    > I was surprised to find no reference on the web/newsgroups to other
    > people who have seen this problem. Has anyone come across this? Any
    > thoughts on a fix?
    >
    > I have reproduced this behaviour on up-to-date demo versions (Wise for
    > Windows professional 6.0 and InstallShield X Pro 10). Interestingly,
    > if the merge module is created using InstallShield, the files end up
    > in the correct place whichever software package is used with the merge
    > module. So it looks as though it is definitely Wise that is causing
    > the problem.
    >
    > I also ran an Orca merge module validation on both the Wise and IS
    > merge modules. Wise generated 37 errors, but IS didn't give any
    > errors.
    >
    > This is a major problem for our software development. I've contacted
    > Wise but they have not yet replied with anything useful. It seems that
    > the only way to guarantee correct merge module behaviour is to use
    > InstallShield rather than Wise to create the merge module.
    >
    > Any help or info on this would be much appreciated.
    >
    > Howard
    >
     
    Guest, Sep 7, 2004
    #2
    1. Advertisements

  3. Howard

    Howard Guest

    "Stefan Krueger [MVP]" <> wrote in message news:<>...
    > I guess the reason is that Wise uses TARGETDIR as destination property for
    > the files, while InstallShield names the property INSTALLDIR. Did you specify
    > the merge module destination in InstallShield (right click the module)? As a
    > workaround you could have a custom action that sets TARGETDIR to the value of
    > [INSTALLDIR].
    >
    > --
    > Stefan Krueger
    > Microsoft Windows Installer MVP
    >


    Thanks for your reply.

    I didn't specify a particular destination for the merge module in the
    InstallShield project, I left this at the default value which is
    INSTALLDIR.

    One other thing I've tried is to create a nominally identical merge
    module with both Wise and IS. The merge module had two files in a
    bin/i386-win32 directory and two in a cfg directory (directories
    relative to install location). I then used Orca to examine the tables
    in both versions of the merge module. There's one difference in the
    directory table that seems significant. The entries are:

    Directory, Directory_Parent, DefaultDir
    ------------------------------------------------
    IS: TARGETDIR, , SourceDir
    Wise: TARGETDIR, , SourceDir

    IS: INSTALLDIR.E46C..., TARGETDIR, .
    Wise: INSTALLDIR.4B20..., TARGETDIR, APPLIC~1|Application

    IS: BIN.E46C..., INSTALLDIR.E46C..., bin
    Wise: bin.4B20..., INSTALLDIR.4B20..., bin

    IS: CFG.E46C..., INSTALLDIR.E46C..., cfg
    Wise: cfg.4B20..., INSTALLDIR.4B20..., cfg

    IS: I386_WIN32.E46C..., BIN.E46C..., I386-W~1|i386-win32
    Wise: i386win32.4B20..., bin.4B20..., I386-W~1|i386-win32

    4 of the 5 above look pretty much equivalent, but the second one for
    INSTALLDIR seems to indicate a DefaultDir of TARGETDIR for IS, but a
    default of TARGETDIR/Application for Wise. This matches what I've
    observed - am I interpreting the tables correctly?

    I will try editing the INSTALLDIR table entry for the Wise merge
    module to see if this fixes the problem when it is used in and IS
    project.

    Howard

    >
    > "Howard" wrote:
    >
    > > I have come across a fairly serious problem when creating merge
    > > modules using Wise. I've searched the web and newsgroups for info, but
    > > haven't found anything relevant. I'd welcome any info from people
    > > who've come across this issue.
    > >
    > > The problem is that when the Wise-generated merge module is used in an
    > > InstallShield installer, the files in the merge module do not go to
    > > the correct directory. When the same merge module is used in a Wise
    > > installer, the files go to the right place (as you'd expect).
    > >
    > > Wise says that when creating the merge module, the files should go in
    > > the folder named "Application". At install time, files in this folder
    > > will end up in the chosen install location (e.g. C:\Program Files\My
    > > App). I have created a merge module with files destined for a
    > > bin\i386-win32 subdirectory, so I create the necessary folders
    > > relative to the "Application" folder, and put the files in place.
    > >
    > > When such a merge module is used in a Wise installer, things are fine,
    > > and the files end up in e.g. C:\Program Files\My App\bin\i386-win32.
    > > The problem comes when InstallShield is used with the Wise-created
    > > merge module. In this case, the files end up in C:\Program Files\My
    > > App\Application\bin\i386-win32.
    > >
    > > I was surprised to find no reference on the web/newsgroups to other
    > > people who have seen this problem. Has anyone come across this? Any
    > > thoughts on a fix?
    > >
    > > I have reproduced this behaviour on up-to-date demo versions (Wise for
    > > Windows professional 6.0 and InstallShield X Pro 10). Interestingly,
    > > if the merge module is created using InstallShield, the files end up
    > > in the correct place whichever software package is used with the merge
    > > module. So it looks as though it is definitely Wise that is causing
    > > the problem.
    > >
    > > I also ran an Orca merge module validation on both the Wise and IS
    > > merge modules. Wise generated 37 errors, but IS didn't give any
    > > errors.
    > >
    > > This is a major problem for our software development. I've contacted
    > > Wise but they have not yet replied with anything useful. It seems that
    > > the only way to guarantee correct merge module behaviour is to use
    > > InstallShield rather than Wise to create the merge module.
    > >
    > > Any help or info on this would be much appreciated.
    > >
    > > Howard
    > >
     
    Howard, Sep 9, 2004
    #3
  4. Howard

    csteddy

    Joined:
    Jan 28, 2009
    Messages:
    23
    Likes Received:
    0
    csteddy, Feb 26, 2009
    #4
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Steve Source

    Merge Modules

    Steve Source, Oct 11, 2003, in forum: Microsoft Windows 2000 MSI
    Replies:
    1
    Views:
    2,658
    Steve Source
    Oct 11, 2003
  2. Sam Cannell
    Replies:
    1
    Views:
    1,069
    Stefan Krueger [MVP]
    Feb 3, 2004
  3. The CQMMAN

    Wise Package Studio 5.1 - Calling an EXE from within an MSI

    The CQMMAN, Jun 2, 2004, in forum: Microsoft Windows 2000 MSI
    Replies:
    4
    Views:
    1,123
    Jim Welch
    Jun 18, 2004
  4. JH
    Replies:
    2
    Views:
    12,572
    Phil Wilson
    Feb 2, 2005
  5. Wise Studio Job Opening Bangalore

    , Dec 6, 2007, in forum: Microsoft Windows 2000 MSI
    Replies:
    0
    Views:
    516
Loading...

Share This Page