I very much appreciate the idea and thoughtfulness of your reply! There's one 
technical factor you may not be aware of that I think will not fit into your 
approach (though I love the simplicity of it).

The requirement is to install 1 file into the same folder that the Visual 
Studio file "simpleunittest.zip" is contained in. On an English system, this 
folder is:

[Visual Studio Install folder]\Common7\IDE\ItemTemplates\CSharp\1033

The "CSharp" part of the path is a constant. It will never change. But the 1033 
is the LCID for en-us, and it will be different for other language installs. 
Therefore a filesearch is required in order to discover which folder is the 
right folder for my installer to place our file into.

The definition for VS90_ITEMTEMPLATES_DIR yields this part of the path:

[Visual Studio Install folder]\Common7\IDE\ItemTemplates

I just need to discover and append a "CSharp\<correct LCID>" to the path. The 
good news is that the user will never be allowed to override this path. It 
simply must match where Visual Studio expects to find these particular file 
types (which are test templates).

If the correct path never changed (e.g. was always just "CSharp") I wouldn't 
bother with a file search and would use straight <Directory> elements in my 
component definition.

Does that shed more light on my problem?

Thank you very much,
Cody

________________________________________
From: Blair [os...@live.com]
Sent: Tuesday, January 26, 2010 5:12 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] PropertyRef Id="VS90_ITEMTEMPLATES_DIR"

If you already know the directory you want by name (which your attempt
requires) and you know it is always an immediate subdirectory of the
templates folder (which your attempt also requires) can't you do something
like this?

...
<PropertyRef Id="VS90_ITEMTEMPLATES_DIR"/>
<SetProperty Id="PROPCSHARPTEMPLATEDIR" After="AppSearch" Sequence="both"
Value="[VS90_ITEMTEMPLATES_DIR]CSharp\"/>
...
<Directory Id="PROPCSHARPTEMPLATEDIR">
...

Or even this:

...
<PropertyRef Id="VS90_ITEMTEMPLATES_DIR"/>
...
<Directory Id="VS90_ITEMTEMPLATES_DIR">
<Directory Id="PROPCSHARPTEMPLATEDIR" Name="CSharp">
...
</Directory>
</Directory>
...

The intent should be very clear with both approaches and they are much less
verbose as well. Modify the first above if you allow the
PROPCSHARPTEMPLATEDIR value to be overridden by the user like this (the
second doesn't require any changes):

...
<PropertyRef Id="VS90_ITEMTEMPLATES_DIR"/>
<Property Id="PROPCSHARPTEMPLATEDIR" Secure="yes"/>
<SetProperty Id="PROPCSHARPTEMPLATEDIR" After="AppSearch" Sequence="both"
Value="[VS90_ITEMTEMPLATES_DIR]CSharp\">NOT
PROPCSHARPTEMPLATEDIR</SetProperty>
...
<Directory Id="PROPCSHARPTEMPLATEDIR">
...

Hope this helps,
-Blair

-----Original Message-----
From: Bob Arnson [mailto:b...@joyofsetup.com]
Sent: Sunday, January 24, 2010 6:14 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] PropertyRef Id="VS90_ITEMTEMPLATES_DIR"

On 1/24/2010 1:18 PM, Cody Gibson wrote:
> <DirectorySearch Id="VS90CSharpFolder"
Path="[VS90_ITEMTEMPLATES_DIR]CSharp" Depth="1" AssignToProperty="yes">
>

The AppSearch action doesn't guarantee an order the table's rows are
processed, so you can't rely on being able to use the results of one
search in another. The log has the details:

> Action start 19:23:35: AppSearch.
>
> AppSearch: Property: PROPCSHARPTEMPLATEDIR, Signature: VS90CSharpFolder
>
> MSI (c) (04:80) [19:23:35:651]: Note: 1: 1322 2:
>
> MSI (c) (04:80) [19:23:35:651]: Note: 1: 1322 2:
>
> AppSearch: Property: VS90_ROOT_FOLDER, Signature: SearchForVS90RootPath
>

It processed the PROPCSHARPTEMPLATEDIR search before the
VS90_ITEMTEMPLATES_DIR search, so the path is empty -- hence the 1322
error codes.

--
sig://boB
http://joyofsetup.com/


----------------------------------------------------------------------------
--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for
Conference
attendees to learn about information security's most important issues
through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to