Re: [WiX-users] backing up old file before removal

2008-10-07 Thread Cody Cutrer
Sounds like you should probably schedule CopyFiles before RemoveFiles and/or 
InstallFiles (not sure of their default sequencing relative to one another), 
and re-schedule RemoveExistingProducts to just before or after InstallFinalize 
(instead of InstallInitialize).  This is all done in the InstallExecute 
sequence.

Cody


On 10/7/08 4:03 PM, Joshua Chambers [EMAIL PROTECTED] wrote:

Hello!



So I am working on a new version of a program already out in the field.
Thanks to a finger pointing in the right direction I have gotten the new
installer to run when clicked on (before, the old one ran), now I have
my upgrade stuff working fine and dandy, though I have just one problem.



There is one file from the old version that I want to back up before
it's removed.  I see this CopyFile action, but I don't see where I can
use it productively since the removing of the old version seems to
happen pretty much behind the scenes, and the Component tag for the
replacement file is not active until the installer part is running,
after FindRelatedProducts has already run and removed the file.  At what
point can I stick an action in here to back this file up before the
uninstall carries on?



Thank you!

Joshua



-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Anyone have XSL for fixing up nested registry values?

2008-10-04 Thread Cody Cutrer

What are you trying to do?  That WiX snippet you describe below tells Windows 
Installer to write two separate strings to the same registry value.  Do you 
mean to write a REG_MULTI_SZ?  Or append Bar to ?  Or are you just 
confusing the Value attribute and the Name attribute?

For

HKCR
  Foo
@= , Bar   (REG_MULTI_SZ, @ is the default value)

Use

RegistryKey Root=HKCR Key=Foo
RegistryValue Type=multiString
MultiStringValue/MultiStringValue
MultiStringValueBar/MultiStringValue
/RegistryValue
/RegistryKey

For
HKCR
  Foo
@=
Bar=

Use

RegistryKey Root=HKCR Key=Foo
RegistryValue Type=string Value=/
RegistryValue Name=Bar Type=string/
/RegistryKey

Cody

On 9/30/08 12:38 AM, Troy Howard [EMAIL PROTECTED] wrote:

I read a message on here a while back where someone had written an XSL to
fixup the primary key is duplicated errors caused by nested registry value
elements like this example:

RegistryKey Root=HKCR Key=Foo
RegistryValue Type=string Value= /
RegistryValue Value=Bar Type=string /
/RegistryKey

The XSL would convert these to single line RegistryValue tags.

Anyone have an XSL or script that does this fixup?

I'm trying not to reinvent the wheel.

Thanks,
Troy


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Directory Filesystem Attributes

2008-09-10 Thread Cody Cutrer
Is there any way to set the system attribute on a directory that is created by 
the installer?  The Directory element doesn't have Hidden and System 
attributes.  Also, the File element does have Hidden and System attributes.  Is 
there a way to set the attributes on an existing file not installed (or 
overwritten) by the installer?

Cody Cutrer
-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] PermissionEx and WixQueryOsWellKnownSID properties

2008-08-28 Thread Cody Cutrer
Are you running on Windows 2000?  The Network Service account only exists on 
Windows XP and above.  WIX_ACCOUNT_NETWORKSERVICE relies on a custom action in 
WixUtilExtension that creates the well-known SIDs for common accounts, and 
then uses an API call to get the localized names for them.  This is so you can 
use them with the Permission element (which uses a built in Windows Installer 
action, which only recognizes Everyone and Administrators regardless of OS 
localization).  However, the PermissionEx element is implemented as a WiX 
custom action, and supports using Everyone, Administrators, LocalSystem, 
LocalService, NetworkService, AuthenticatedUser, Guests, CREATOR OWNER, 
INTERACTIVE, and Users regardless of OS localization.  The problem with the 
custom action that sets the well-known account localized names 
(WIX_ACCOUNT_NETWORKSERVICE, etc.), is that it fails on Windows 2000 because 
those accounts don't exist.  This happens even if you have a condition that you 
never use 
 those properties on a Windows 2000 system.  So... If you need to use anything 
besides Administrators or Everyone, and you need to run your installer on 
Windows 2000, then it's best to use the PermissionEx element, and use the 
English names directly.

Btw... Your error code is the HRESULT for Win32 error code 1789: 
ERROR_TRUSTED_RELATIONSHIP_FAILURE The trust relationship between this 
workstation and the primary domain failed, as a result of a call to 
LookupAccountNameW.  Are you running this installer per-user or per-machine?  I 
can't see how that could ever fail if you're doing it per-machine and the 
installer is running as SYSTEM.  If it was per-user, I could see something 
weird like this happening, but probably means a weird security 
misconfiguration, or maybe just can't contact a domain controller or something. 
 Generally even using WIX_ACCOUNT_NETWORKSERVICE should work with PermissionEx 
(it just looks up the SID directly from the name, instead of building a 
well-known SID).

Cody Cutrer


On 8/27/08 5:07 PM, Rob Mensching [EMAIL PROTECTED] wrote:

Did you try NetworkService?

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Sleightholm
Sent: Wednesday, August 27, 2008 15:26
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] PermissionEx and WixQueryOsWellKnownSID properties

I am trying to change the permissions on a registry key like so:



RegistryKey Id=RegCommon Root=HKLM
Key=SOFTWARE\ACME\Common Action=create

  util:PermissionEx GenericAll=yes
User=[WIX_ACCOUNT_NETWORKSERVICE] /

/RegistryKey



But when I run it I get this error in the log:

ExecSecureObjects:  Error 0x800706fd: failed to get sid for account: NT
AUTHORITY\NETWORK SERVICE

Action ended 23:15:46: InstallFinalize. Return value 3.



Is it possible to use the WixQueryOsWellKnownSID properties with
PermissionEx? Alternatively can I specify a SID (e.g. S-1-5-20) for the
value of PermissionEx/@User?



(I can't hardcode the network service account name as it changes on
international versions of Windows.)



Neil



Neil Sleightholm
X2 Systems Limited
[EMAIL PROTECTED] mailto:[EMAIL PROTECTED]



-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Permission vs. PermissionEx and Users Group

2008-08-11 Thread Cody Cutrer
According to http://msdn.microsoft.com/en-us/library/aa369774.aspx, you cannot 
specify the Users group, only Administrators or Everyone as the username 
for a Permission element.  My first try for this was to use the 
WIX_ACCOUNT_USERS property, which is set as part of the WixQueryOsWellKnownSID 
custom action.  This works great on Windows XP and Windows Vista.  The problem 
is that under Windows 2000, the LocalService and NetworkService accounts don't 
exist, so the CA fails, even though I'm not referencing those properties (they 
get set in the same CA).  I see two solutions... Either split the CA into 
WixQueryOsWellKnownSID and WixQueryOsWellKnownServiceSIDs so that if you don't 
need those ones, they won't run on Windows 2000 and won't have a problem.   
OR... Looking at the source code for CaExecSecureObjects which processes the 
PermissionEx element, it will properly lookup the SIDs for Users group, etc.  
So is WiX's PermissionEx as reliable as MSI's native LockObjects t
 able?  If so, I can just use that and not worry about the CA working or 
failing.

Cody Cutrer
-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users