You have to know which versions of the product you are targeting. They all
probably have different IDs (i.e. product codes). If you're only supporting
one version, then that's fine. Note that not all installers will write their
install location. 

Use a registrysearch to look in the key that corresponds to the product code.
The install location value is stored in a property.
If the value is found (i.e. is not blank), the property is assigned to
INSTALLDIR which overrides the default location. 

This is off the top of my head so it might have errors:

<Property Id="PRODUCTDIR" Secure="yes">
      <RegistrySearch Id="GetProductDir" Root="HKLM"
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\<insert product
code>" Name="InstallLocation" Type="raw"/>
    </Property>

<SetDirectory Id="INSTALLDIR" Value="[PRODUCTDIR]" >PRODUCTDIR</SetDirectory>

Something to check there is that the detected value appears in the dialog
box. I'm not sure how early in the UI sequence the SetDirectory occurs.

-----Original Message-----
From: Jensen-Waud, Anders [mailto:anders.jensen-w...@capgemini.com] 
Sent: 15 November 2012 10:46
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Creating a simply installer copying aset offiles to
an existing directory

Thanks Peter. I actually managed to find the MSI ID and registry key for the
target product install folder. Are you able to show how to look up the folder
via the registry key and insert it into the Directory declaration?

Regards

Anders

Peter Shirtcliffe <pshirtcli...@sdl.com> wrote:


The default directory is whatever directory Id you set WIXUI_INSTALLDIR to,
so in this case it is INSTALLDIR, which is <ProgramFiles>\ZZ_Installer.

If you change your directory structure to be
<ProgramFiles>\<Vendor>\<Product> and ensure the <product> directory has the
ID INSTALLDIR, it'll change the default to what you want.

Subdirectories are created automatically when you install a component that is
in one.

                <Directory Id="TARGETDIR" Name="SourceDir">
                        <Directory Id="ProgramFilesFolder">
                                <Directory Id="VendorDir" Name="<insert
vendor>">
                                        <Directory Id="INSTALLDIR"
Name="<insert product>">
                                                <Directory Id="ExtensionsDir"
Name="Extensions" />
                                        <Directory>
                                </Directory>
                        </Directory>
                </Directory>

...

<ComponentGroup Id="SomeComponent" Directory="ExtensionsDir">

When SomeComponent is installed, its directory will be created.


-----Original Message-----
From: Jensen-Waud, Anders [mailto:anders.jensen-w...@capgemini.com]
Sent: 14 November 2012 22:57
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Creating a simply installer copying a set offiles to
an existing directory

Thanks Peter.

I have followed the manual and tutorials and created a basic installer, which
works with the WixUI_InstallDir extension:

---snip---
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
        <Product Id="*" Name="ZZ_Installer" Language="1033" Version="1.0.0.0"
Manufacturer="xx" UpgradeCode="d56c9263-02e7-4bfe-bcee-36a5d242f8a6">
                <Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" />
    <UIRef Id="WixUI_InstallDir"/>
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is
already installed." />
                <MediaTemplate />

                <Feature Id="ProductFeature" Title="ZZ_Installer" Level="1">
                        <ComponentGroupRef Id="ProductComponents" />
                </Feature>
        </Product>


        <Fragment>
                <Directory Id="TARGETDIR" Name="SourceDir">
                        <Directory Id="ProgramFilesFolder">
                                <Directory Id="INSTALLDIR"
Name="ZZ_Installer" />
                        </Directory>
                </Directory>
        </Fragment>

        <Fragment>
                <ComponentGroup Id="ProductComponents"
Directory="INSTALLDIR">
      <Component Id="PluginFiles"
Guid="8BF1E791-43CF-4fe0-8F34-88066C386810">
        <File Id="HestXml" Name="hest.xml" Source="hest.xml" KeyPath="yes" />
      </Component>
                </ComponentGroup>
        </Fragment>
</Wix>

---snip---

Currently, the installer copies 'hest.xml' (the plugin file) to the directory
c:\program files\ZZ_Installer. However, the default install path for the
target application is 'c:\program files\<Vendor_Name>\<Product_Name>' and I
would like the installer to default to that path in the WixUI_InstallDir
dialogue when the user is prompted to select the target directory. I have
been unable to find any registry values for it.

How can I change the default target path?

Also, how can I create sub folders within the target application path? I have
another file which needs to go into 'c:\program
files\<Vendor_Name>\<Product_Name>\Extensions\'.

Thanks.

Anders


-----Original Message-----
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Sent: Tuesday, 13 November 2012 9:29 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Creating a simply installer copying a set of files
to an existing directory

This is certainly possible.

1. The WixUI_InstallDir built-in dialog set will prompt the user for an
installation location.
http://wix.sourceforge.net/manual-wix3/WixUI_installdir.htm

You may even be able to detect the location of the existing tool, if you know
the MSI product codes of the versions you are targeting or if the tool writes
its installation location to the registry.

2. This is standard functionality.

3. Are any actions required here ?

The Wix documentation in the distribution and the online tutorial are good
places to start.
http://wix.tramontana.co.hu/


-----Original Message-----
From: Jensen-Waud, Anders [mailto:anders.jensen-w...@capgemini.com]
Sent: 12 November 2012 23:39
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Creating a simply installer copying a set of files to an
existing directory

Hello

I need to create an installer file, which copies a set of XML files into the
directory of an existing application, which is already assumed to be
installed on the computer. The installer wraps a plugin (consisting of a set
of XML files) for a popular CASE tool.

I would prefer if this can be done using a combination of WiX with an MSI
package as the output so that it can be deployed easily to corporat
environments.

The installer must do the following:
1. Ask the user for the target directory in which the existing application is
installed (defaulting to c:\program files\AppName) 2. Copy two XML files into
c:\program files\AppName\SubDir -- and create SubDir if it doesn't already
exist 3. Finish the install.

Is this possible?

Thanks.

Anders
This message contains information that may be privileged or confidential and
is the property of the Capgemini Group. It is intended only for the person to
whom it is addressed. If you are not the intended recipient, you are not
authorized to read, print, retain, copy, disseminate, distribute, or use this
message or any part thereof. If you receive this message in error, please
notify the sender immediately and delete all copies of this message.


-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires
that you delete it without acting upon or copying any of its contents, and we
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6
7DY, UK.


-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
This message contains information that may be privileged or confidential and
is the property of the Capgemini Group. It is intended only for the person to
whom it is addressed. If you are not the intended recipient, you are not
authorized to read, print, retain, copy, disseminate, distribute, or use this
message or any part thereof. If you receive this message in error, please
notify the sender immediately and delete all copies of this message.


-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
This message contains information that may be privileged or confidential and
is the property of the Capgemini Group. It is intended only for the person to
whom it is addressed. If you are not the intended recipient, you are not
authorized to read, print, retain, copy, disseminate, distribute, or use this
message or any part thereof. If you receive this message in error, please
notify the sender immediately and delete all copies of this message.


-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to