Cool! I stand corrected on if symbols are loaded in this situation. Symbols are 
not loaded in the traditional symbol server sense of 
<path>\file.pdb\<GUID>\file.pdb approach. I'm so used to thinking of the symbol 
server that way I didn't see that just setting _NT_SYMBOL_PATH=c:\syms will be 
searched as well. I humbly have withdrawn my previous mail.  :)

John
Wintellect
http://www.wintellect.com
+1-877-968-5528

-----Original Message-----
From: Mark Modrall [mailto:mmodr...@mzinga.com]
Sent: Friday, February 11, 2011 5:12 AM
To: General discussion for Windows Installer XML toolset.; John Robbins
Subject: RE: [WiX-users] Wix and "tricky" environment variables

That's a very good question, Ed.  I've only tested it on our boxes, and we only 
ever have 1 rev of our code there at a time.

Don't know what would happen if we started installing multiple versions, but 
thanks for making that point.

Mark


-----Original Message-----
From: Maillet, Ed [mailto:email...@unum.com]
Sent: Friday, February 11, 2011 8:06 AM
To: General discussion for Windows Installer XML toolset.; John Robbins
Subject: Re: [WiX-users] Wix and "tricky" environment variables

Doesn't that only work if you have one version of an assembly?

Two Acme.dlls (v1 and v2) in the gac present a problem, doesn't it?


-----Original Message-----
From: Mark Modrall [mailto:mmodr...@mzinga.com]
Sent: Friday, February 11, 2011 7:19 AM
To: John Robbins; General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix and "tricky" environment variables

Hi John...

        Actually, putting your .net pdbs in _NT_SYMBOL_PATH *does* work; that's 
why I'm trying to do it.

http://blog.softwareishardwork.com/2010/02/enable-stack-trace-line-numbers-in.html

        I came to adding it to my installers after proving that it worked by 
doing it manually.

        Your note about keeping the pdbs in reserve for performance reasons is 
a good one, and I'll keep that in mind.

Thanks
Mark


-----Original Message-----
From: John Robbins [mailto:j...@wintellect.com]
Sent: Thursday, February 10, 2011 10:33 PM
To: General discussion for Windows Installer XML toolset.; Mark Modrall
Subject: RE: [WiX-users] Wix and "tricky" environment variables

Mark,

As someone who's concentrated on debugging and debuggers his whole career, it 
warms my heart to hear people talking about _NT_SYMBOL_PATH. :)

However, _NT_SYMBOL_PATH is only used by debuggers. The .NET StackTrace class, 
which is generating the call stacks in your exceptions, will only look for the 
PDB files in the same directory as the .EXE. So even if you add this to your 
installer, you still won't get source and line information on any exception 
stack trace.

Also, I recommend that you keep the PDB file installer separate from the main 
installer. As there's extra file I/O and overhead for reading the PDB files 
when the exceptions are thrown, you only want to install the PDB files when you 
are certain you've got a problem and need that information.

Hope it helps!

John
Wintellect
http://www.wintellect.com
+1-877-968-5528

-----Original Message-----
From: Mark Modrall [mailto:mmodr...@mzinga.com]
Sent: Thursday, February 10, 2011 6:13 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix and "tricky" environment variables

Well, you caught me flat footed with the App Path stuff, so I could be 
misunderstanding the Symbol Server stuff :)  But here's my understanding of 
what that's about:

1) Microsoft has a public service that will vend .pdb files for Microsoft 
components and you can set _NT_SYMBOL_PATH to pull from there
1a) You can set your _NT_SYMBOL_PATH to cache the results from Symbol Server 
locally if you want with a special syntax

2) If you're using a debugger and interactively watching something, you can use 
Symbol Server directly without _NT_SYMBOL_PATH

3) For your own symbols you're on your own.  Though I gather from your question 
(SDK vs internal process), there may be a way to register your symbols in the 
Microsoft Symbol Server.

I might be missing something, but it doesn't seem like you can get away from 
_NT_SYMBOL_PATH entirely.  At the least you have to register your symbols with 
Microsoft and set _NT_SYMBOL_PATH to point at the server.

Our use is for logging exception stack traces in a database, not hands-on 
interactive debugging.  The problem is that when you put things in the GAC it's 
considered bad form (and somewhat convoluted) to put the .pdbs in the GAC too.  
If the pdbs are lying right next to the .exes and .dbgs, you don't need to use 
_NT_SYMBOL_PATH because the default behavior checks the immediate environs 
before looking in the paths defined in _NT_SYMBOL_PATH.  Alas the GAC messes 
that up.

We've always been dumping the .pdbs in our install directory but the stack 
traces that get logged blank out on anything that's gone through the GAC 
because the executables aren't located there.  Another frustrating thing about 
the gac is that even if you have a copy of the executable, say, in the /bin 
directory of your ASP.Net application it's going to use the GAC version instead 
and not infer anything about where your symbols might be from the one in your 
/bin directory.

So we're down to getting _NT_SYMBOL_PATH set properly in our installer.  But 
not wanting the installer to keep accreting our directory on the front/back 
every time we install.  And not destroying an environment variable that's a 
shared resource in the process, which is why I'm trying to form the right test 
in Wix to see if we're already in there.

In our case, we're a saas provider, installing our stuff across a farm of ~100 
of our servers.  We're not a re-seller or SDK vendor.  We're just trying to 
manage our farm.

Thanks
Mark


-----Original Message-----
From: Christopher Painter [mailto:chr...@deploymentengineering.com]
Sent: Thursday, February 10, 2011 8:50 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix and "tricky" environment variables

I'm no expert wrt to symbols so treat this advice as an old drunk sailor 
sitting at the bar telling a story..... :-)

I did a google search and a lot of people seem to not like _NT_SYMBOL_PATH. 
There seems to be some good things to be said about Symbol Server.   Can I 
assume that your installer is some sort of SDK?  Or are you perhaps automating 
an internal process?    Any advice given would depend on the answer to that 
question (e.g. does the end user want to contol his own destiny or is it a 
captive audience ).

However, I'm not going to go there anyways because I'm just an old drunk old 
sailor today.

(PS- No offense meant for any squids that might be out there.  Oorah  )

---
Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know 
a secret or read a really good thread that deserves attention? E-Mail Me



----- Original Message ----
From: Mark Modrall <mmodr...@mzinga.com>
To: General discussion for Windows Installer XML toolset.
<wix-users@lists.sourceforge.net>
Sent: Thu, February 10, 2011 7:39:08 AM
Subject: Re: [WiX-users] Wix and "tricky" environment variables

Hi Chris...

    Thanks for the tip on App Path; I didn't know about that one.

    Unfortunately, I used PATH as an example because I thought that's the one 
people would be most familiar with, but there are a number of environment 
variables that function similarly.  My own fault for not being more direct.

    What I'm actually trying to maintain is _NT_SYMBOL_PATH.  I'm trying to add 
the directory where my .pdbs live so that my GAC'ed components can still get 
symbol info in stack traces.

    _NT_SYMBOL_PATH works similarly to PATH in terms of syntax and function and 
Wix would act on them pretty much the same way.

Mark


-----Original Message-----
From: Christopher Painter [mailto:chr...@deploymentengineering.com]
Sent: Thursday, February 10, 2011 6:50 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix and "tricky" environment variables

I'll be honest,  it's 2011 and I'm hard pressed to understand why software 
applications still cling to the need to be in the "PATH"... a concept that 
originated some 30 years earlier.

Can you redesign your application to not need to be in the path?  Or, can you 
use AppPaths to make certain executables and


http://www.sepago.de/d/helge/2010/08/26/how-the-app-paths-registry-key-makes-windows-both-faster-and-safer



Otherwise, I'd suggest that if the built in Env@Part First|Last  isn't working
that you could change it to All and then use a custom action to do your own
parsing ( dedupication, sorting, appending and so on. )  I'd test it really good

though because I've never done this and I'm not sure what the gotchas would be.

---
Christopher Painter, Author of Deployment Engineering Blog
Have a hot tip, know a secret or read a really good thread that deserves
attention? E-Mail Me



----- Original Message ----
From: Mark Modrall <mmodr...@mzinga.com>
To: General discussion for Windows Installer XML toolset.
<wix-users@lists.sourceforge.net>
Sent: Wed, February 9, 2011 2:58:40 PM
Subject: [WiX-users] Wix and "tricky" environment variables

Hi...

                I'm looking to get my installer to appropriately set an entry in

one of those "tricky" environment variables, like %PATH%.  By "tricky" I mean
shared and accretive - it's a multi-value crossroads that everybody and their
brother will be mucking with.  I want to make sure our addition gets in there
but don't want to just keep appending our root every time the installer is run.

In the same vein, I can't just blank the variable when our product is
uninstalled.

                So I was thinking I'd add a custom action type 51 to get the
value into a property and a conditionalized component with a test on the value,
but I'm not quite clear on how all the pieces would fit together...  Something
like

<Component Id="SetPath">
<Condition><![CDATA[NOT EnvPath><C:\Program Files\Mypath;]]></Condition>
<Environment Id="EnvSetPath" Action="set" Name="PATH" Part="first"
Permanent="yes" System="yes" Value="C:\Program Files\MyPath" />
</Component>
...
<CustomAction Id="EnvPath" Property="EnvPath" Value="[%PATH]" />


                Problem is that all the examples I'm cribbing from are using
ellipsis too, so I'm not sure if I have to declare what phase the custom action
will be executed in, etc.

                Am I on the right track?

Thanks
Mark

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users





------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users





------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to