Thanks Rob - I will attempt to simplify this OR learn everything I can
about CustomAction.  

 

Josh Pepper

Software Developer
MinuteClinic 

________________________________

From: Rob Mensching [mailto:[EMAIL PROTECTED] 
Sent: Saturday, March 03, 2007 12:07 PM
To: Josh Pepper; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] Trying to use a system property in a property

 

1.  It doesn't surprise me that you need to define SystemFolder in the
Directory table.  That's easy enough to do.  Just make it a child of the
TARGETDIR Directory element and you're done.

 

2.  Yes, "fun" for me can often equate to "loony bin" for others.  The
trick is getting the Windows Installer to do its native actions on
uninstall (which it doesn't do in many cases).  That does mean you're
stuck with a CustomAction.  The problem with CustomActions is that you
then assume responsibility for
install/uninstall/rollback/patching/upgrading/etc.  You can condition
out some of those cases (like install in your case) but what about
rollback for uninstall?

 

When anyone says, "I'll just write a CustomAction!" I usually end up
smiling.  Teams (mostly in Microsoft since those are the halls I haunt)
that know me well know they are in deep trouble when I start smiling
like that because they know they oversimplified something.  Simplifying
your applications installation needs is a very good thing.
Oversimplifying your setup means customers feel the pain when things
don't go simply (like the user hits an error or even the cancel button).

 

<smile/>

 

From: Josh Pepper [mailto:[EMAIL PROTECTED] 
Sent: Saturday, March 03, 2007 9:53 AM
To: Rob Mensching; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] Trying to use a system property in a property

 

Thanks for the response!

Why am I putting stuff in the SystemFolder?  I am editing the
usrlogon.cmd and usrlogn2.cmd scripts.  We do some scripting upon logon.
This is actually part of a deployment to spin up a Citrix server in a
farm.  I won't be shipping this product; this is an installer I am
writing to help my comrades on the operations side of IT at our company
out a bit.  

Great!  OK, so I can put SystemFolder in the CopyFile/@SourceProperty
... ok ... doing that .... SourceProperty='SystemFolder' ... ok so I do
that, run the install on my Virtual box, and I get the message "The
installer has encounted an unexpected error installing this package.
This may indicate a problem with this package.  The error code is 2727."

Then, if I look in the log I see:

...stuff...

Action start 11:43:18: InstallValidate.

DEBUG: Error 2727:  The directory entry 'SytemsFolder' does not exist in
the Directory table

...other stuff...

 

Hm.  So it's looking in the Directory table?  OK, so I ran Orca and
looked at the Directory table.  Of course, I only see there the things
that I explicitly defined, SystemFolder not being one of them.  To be
this seems to be an issue of timing; am I trying to access SystemFolder
before the nth level of magic is invoked to replace it with
C:\\Windows\System32 (or whatever)?

 

>> 3. You're going to have a fun time trying to put the files back on
uninstall.

Uh.... Is this what they call foreboding?  When installer gurus say
something is "fun" that usually translates to a trip to the loony bin
for the rest of us.  I hadn't quite figured it out yet, but all I am
trying to do is on install, make a backup of some scripts, and on
uninstall, grab those backups and put them back where I found them.
There is no way to do this?  Couldn't I make some (stretching here,
beyond my knowledge) CustomAction, and have it only run on uninstall?
On='uninstall' or something?  No?

 

Thanks!

Josh

 

Josh Pepper

Software Developer
MinuteClinic 

________________________________

From: Rob Mensching [mailto:[EMAIL PROTECTED] 
Sent: Saturday, March 03, 2007 11:18 AM
To: Josh Pepper; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] Trying to use a system property in a property

 

0.  Why are you putting stuff in SystemFolder?  That's part of the
operating system.  Generally not a place people outside of the Windows
team should be messing with.

1.  Property values do not resolve the Properties in them.  In your
case, your "SysFolder" property contains the actual value
"[SystemFolder]".  That will not be resolved to C:\Windows\System32 (or
whatever).  To get the resolution behavior you need to use a
CustomAction... Type51 is the easiest.

2.  In your case, you shouldn't even need to set "SysFolder".  Just
putting "SystemFolder" in the CopyFile/@SourceProperty should work...
haven't tried it so there may be a gotcha in there.

3.  You're going to have a fun time trying to put the files back on
uninstall.

 

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Josh
Pepper
Sent: Friday, March 02, 2007 1:16 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Trying to use a system property in a property

 

Hi all -

I am having some trouble using a system property.  My current goal is to
make a backup copy of some *.cmd files in the System32 directory because
on installation I will be overwriting them (and then on uninstall I will
be restoring the backups, but I am not there yet).

My current problem is that I get a "Error 1314. The specified path
'[SystemFolder]' is unavailable" error when I run the MSI.

I am just trying to use the CopyFile element to copy the file
usrlogon.cmd to my install dir.  Some questions:

1. It seems I can refer to a system property such as ProgramFilesFolder
in an Id without enclosing it in braces.  How is this the case?

2. When I run the msi that the following XML creates, I get "Error 1314.
The specified path '[SystemFolder]' is unavailable" in the log.  Is the
property getting defined at a time when I cannot refer to system
properties?

3. When and where can I refer to things like ProgramFilesFolder and
SystemFolder?  When should I enclose in braces and when should I not?

4. You can see below that I attempted to define a property with a value
of [SystemFolder].  That didn't work.  However, neither did putting
SystemFolder or [SystemFolder] in any of the places that I wanted that
value (such as SourceDirectory in the CopyFile element).  Why is this?

<?xml blah><Wix blah><Product blah><Package blah /><Media blah />

    <Property Id='DiskPrompt' blah />

    <Property Id="SysFolder" Value ='[SystemFolder]' />

    <Directory Id='ProgramFilesFolder' Name='PFiles'>

      <Directory Id='MinuteClinic' Name='MCDir' LongName='MinuteClinic
Folder Long Name'>

        <Directory Id='INSTALLDIR' Name='SLDir' LongName='Server Logon
Folder Long Name'>

          <Component Id='BackupCmds'
Guid='A004C7F0-0585-4728-9F3C-C2C402549D7A'>

            <CopyFile Id="CopyUsr" Delete="no" 

                      SourceProperty='SysFolder'
SourceName="usrlogon.cmd"

                      DestinationDirectory="INSTALLDIR"
DestinationName="usrlogon.bak" DestinationLongName="usrlogon.cmd.bak"/>

          </Component></Directory></Directory></Directory>

    <Feature Id='Complete' Level='1'>

      <ComponentRef Id='BackupCmds' />

    </Feature> </Product></Wix>

 

Many thanks to all who respond!

 

Josh Pepper

Software Developer
MinuteClinic 

 

This electronic mail message and attachments contain
information which may be (a) LEGALLY PRIVILEGED,
CONFIDENTIAL AND PROPRIETARY IN NATURE, OR
OTHERWISE PROTECTED BY LAW FROM DISCLOSURE,
and is (b) intended only for the use of the Addressee(s)
named herein.  If you are not the Addressee(s), or the person
responsible for delivering this message to the Addressee(s),
you are hereby notified that reading, copying, or distributing
this message is prohibited.  If you have received this
electronic mail message in error, please contact us
immediately (by reply e-mail) to inform us of the error and
take the steps necessary to delete the message completely
from your computer system and any related data.  Thank you.
 
This electronic mail message and attachments contain
information which may be (a) LEGALLY PRIVILEGED,
CONFIDENTIAL AND PROPRIETARY IN NATURE, OR
OTHERWISE PROTECTED BY LAW FROM DISCLOSURE,
and is (b) intended only for the use of the Addressee(s)
named herein.  If you are not the Addressee(s), or the person
responsible for delivering this message to the Addressee(s),
you are hereby notified that reading, copying, or distributing
this message is prohibited.  If you have received this
electronic mail message in error, please contact us
immediately (by reply e-mail) to inform us of the error and
take the steps necessary to delete the message completely
from your computer system and any related data.  Thank you.
 

This electronic mail message and attachments contain
information which may be (a) LEGALLY PRIVILEGED,
CONFIDENTIAL AND PROPRIETARY IN NATURE, OR
OTHERWISE PROTECTED BY LAW FROM DISCLOSURE,
and is (b) intended only for the use of the Addressee(s)
named herein.  If you are not the Addressee(s), or the person
responsible for delivering this message to the Addressee(s),
you are hereby notified that reading, copying, or distributing
this message is prohibited.  If you have received this
electronic mail message in error, please contact us
immediately (by reply e-mail) to inform us of the error and
take the steps necessary to delete the message completely
from your computer system and any related data.  Thank you.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to