[WiX-users] WIX 3.5 and Visual Studio 2008 Express

2009-12-07 Thread Thomas Steinbach
Hello,

is there a way to use the WIX version 3.5, which can
manage setup projects from/within Visual Studio 2008 Prof.
with the Visual C++ 2008 Express Edition?
Why is there no support for that free IDE? Will that
IDE suported in the future?

Thomas



--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] multiple entries in add remove programs.

2009-12-07 Thread Kelly . Leahy
Why are your two upgrade codes different?  Are you doing that on purpose?

The upgrade code should remain the same for all products that are 
considered to be in the same upgrade family.

by two upgrade codes, I mean the UpgradeCode in your Product tag and the 
Id in the Upgrade tag.




Giora keinan grkei...@gmail.com 

12/07/2009 01:39 AM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
Re: [WiX-users] multiple entries in add remove programs.






Hello
Thanks Sascha, Asker and Neil.
I tried your ideas and still have no idea what is the problem
I am using only 3 digits version (trying to upgrade 1.0.7 to 1.0.8)

following in my upgrade code, maybe you will found what is the problem:

?xml version='1.0' encoding='windows-1252'?

?define Version = 1.0.8 ?

Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
  Product Name='CapsCake' Id='*' 
UpgradeCode='2638A59D-5047-4E78-87A6-A665B98FA131'
   Language='1033' Codepage='1252' Version='$(var.Version)' 
Manufacturer='Gakay'


  Package Id='*' Keywords='Installer'
  Description=CapCake $(var.Version) Updater
  Comments='CapsCake is a  trademark of Gakay.' Manufacturer='Gakay'
  InstallerVersion='100' Languages='1033' Compressed='yes' 
SummaryCodepage='1252' /

Property Id=INSTALLDIR
  RegistrySearch Id='CapsCakeRegistry' Type='raw'
Root='HKLM' Key='Software\Gakay\CapsCake' Name='InstallDir' /
/Property

   Upgrade Id=474E4E86-1153-4A4D-8ECE-6B1F4D423B24
  UpgradeVersion OnlyDetect=yes 
Property=OLDERVERSIONBEINGUPGRADED
Minimum=1.0.0 IncludeMinimum=yes Maximum=$(var.Version)
IncludeMaximum=no /
  UpgradeVersion OnlyDetect=yes Property=NEWERVERSIONDETECTED
Minimum=$(var.Version) IncludeMinimum=no /
   /Upgrade


CustomAction Id=AlreadyUpdated Error=[ProductName]  is 
alreadyinstalled. /
CustomAction Id=NoDowngrade Error=A later  version of 
[ProductName] is already installed. /


Media Id='1' Cabinet='CapsCake.cab' EmbedCab='yes' /
!--   Property Id='DiskPrompt' Value=CapCake $(var.Version) Updater 
[1] / --

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
  Directory Id='INSTALLDIR' Name='.'

Component Id='MainExecutable' Guid='*'
  File Id='CpasCakeEXE' Name='CapsCake.exe' DiskId='1' 
Source='CapsCake.exe' KeyPath='yes'
  /File
/Component

/Directory
  /Directory

Component Id='CapsAppVersion' Guid='*'
RegistryValue Id='CapsAppVersionKey' Root='HKLM' 
Key='Software\Gakay\CapsCake' Name='AppVersion' Type='string' 
Value='$(var.Version)' Action='write' /
 /Component


/Directory !-- of the first dir --


   Feature Id='Complete'  Title='CapsCake' Description='The complete 
package.'  Display='hidden' Level='1'  ConfigurableDirectory='INSTALLDIR'
  ComponentRef Id='MainExecutable' /
  ComponentRef Id='CapsAppVersion' /
/Feature



InstallExecuteSequence
 !-- Custom Action='AlreadyUpdated' 
After='FindRelatedProducts'OLDERVERSIONBEINGUPGRADED/Custom --
  Custom Action='NoDowngrade' 
After='FindRelatedProducts'NEWERVERSIONDETECTED/Custom
/InstallExecuteSequence



  /Product
/Wix


Thanks
Giora





Sascha Beaumont wrote:
 Using Package/@Id=* I'm using the following code - this prevents two
 versions being installed where only the 4th version number differs.
 This is primarily to prevent confusion with internal testing, and
 means that we bump the third version following each public release in
 order to permit upgrades. We only release major upgrades, so I've got
 no idea how the code below would perform in a minor upgrade/patch
 scenario.



   Upgrade Id=$(var.Property_UpgradeCode)
 UpgradeVersion OnlyDetect=yes
 Minimum=$(var.version)
 Property=NEWERVERSIONDETECTED
 IncludeMinimum=no /

 UpgradeVersion OnlyDetect=no
 Maximum=$(var.version)
 Property=OLDERVERSIONBEINGUPGRADED
 IncludeMaximum=no /

 !-- Detect for changes in 4th field only --
 UpgradeVersion Property=ANOTHERBUILDINSTALLED
  Maximum=$(var.version) Minimum=$(var.version)
  IncludeMinimum=yes IncludeMaximum=yes OnlyDetect=yes 
/

   /Upgrade

  CustomAction Id=CA_BlockOlderVersionInstall
 Error=!(loc.LaunchCondition_LaterVersion) /
   CustomAction Id=CA_BlockAnotherBuildInstall
 Error=!(loc.LaunchCondition_AnotherBuild) /


 InstallExecuteSequence
 Custom Action=CA_BlockOlderVersionInstall 
After=FindRelatedProducts
   ![CDATA[NEWERVERSIONDETECTED]]
 /Custom

 !-- Prevent installation on 4th version field change only --
 Custom Action=CA_BlockAnotherBuildInstall 
After=FindRelatedProducts
   

[WiX-users] 32 bit component best practice

2009-12-07 Thread John Aldridge
Our product has both 32 and 64 bit versions, and we want to allow users 
to install these side-by-side on a 64 bit machine. The 64 bit version 
includes a 32 bit component which is identical to the corresponding 
component of the 32 bit version.

How should we choose an installation location for the common 32 bit 
component? Whilst the 32 bit component isn't huge, it would be nice to 
share it if the user does install both the 32 and 64 bit versions.

I'd also like to avoid, when installing the 64 bit version, two separate 
prompts for installation locations...

Where do you want this application installed?
Where do you want the 32 bit component of this application installed?

Should I just be dropping the 32 bit component into CommonFilesFolder, 
perhaps?

Thanks for any advice!

-- 
John

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] WIX 3.5 and Visual Studio 2008 Express

2009-12-07 Thread Bob Arnson
Thomas Steinbach wrote:
 is there a way to use the WIX version 3.5, which can
 manage setup projects from/within Visual Studio 2008 Prof.
 with the Visual C++ 2008 Express Edition?
 Why is there no support for that free IDE? Will that
 IDE suported in the future?
   

No, it won't be supported because Express editions don't have that kind 
of extensibility enabled. They're free, after all.

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



--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] WIX extension: CreateWixSimpleReferenceRow doesn't work with custom tables?

2009-12-07 Thread Maciej Oszutowski

Hi,

I'm developing WIX extension which creates number of custom tables. One of
them is similar to InstallExecuteSequence, another one is similar to
CustomAction table. Don't ask me why, I just need it ;)

Tables look as follows:

  tableDefinition name=MyExecuteSequence
columnDefinition name=Action type=string length=128
primaryKey=yes category=identifier/
columnDefinition name=Condition type=string length=255
nullable=yes /
columnDefinition name=Sequence type=number length=4/
columnDefinition name=Text type=string length=128 nullable=yes
/
columnDefinition name=Flags type=number length=4 nullable=yes
/
  /tableDefinition

  tableDefinition name=MyCustomAction
columnDefinition name=Key type=string length=128 primaryKey=yes
category=identifier/
columnDefinition name=Module type=string length=128
nullable=no/
columnDefinition name=Condition type=string length=255
nullable=yes/
columnDefinition name=Exe type=string length=255 nullable=no /
columnDefinition name=Install type=string length=128
nullable=yes/
columnDefinition name=Uninstall type=string length=128
nullable=yes/
columnDefinition name=Flags type=number length=4 nullable=yes/
  /tableDefinition

Action column in MyExecuteSequence may be one of predefined actions or link
to MyCustomAction table, so I can't set foreign key there - just like in
InstallExecuteSequence. To get some basic validation, in MyExecuteSequence
parsing code I'm trying to create simple reference to MyCustomAction table:

switch (attrib.LocalName)
{
case Action:
if (isCustomAction)
{
action =
extension.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
extension.Core.CreateWixSimpleReferenceRow(sourceLineNumbers,
MyCustomAction, action);
}
else
{
extension.Core.UnexpectedAttribute(sourceLineNumbers, attrib);
}
break;
...

WIX source code:
my:CustomAction Id=custom1 Module=Core Exe=myca.exe
Install=/install Uninstall=/uninstall/

my:ExecuteSequence
   my:RunCustomAction Action=custom1 Text=executing custom1
Sequence=1000/
/my:ExecuteSequence

Unfortunately when I try to compile it, I always get 
error LGHT0094: Unresolved reference to symbol 'MyCustomAction:custom1' in
section 'Fragment:'.

I checked .wixpdb file and MyCustomAction table is there, with custom1 in
'Key' column which is primary key of this table, so I have no idea what's
wrong.
If I remove creating reference - compilation succeeds, but I have no
validation then.

Any ideas how to make it work?
-- 
View this message in context: 
http://n2.nabble.com/WIX-extension-CreateWixSimpleReferenceRow-doesn-t-work-with-custom-tables-tp4126323p4126323.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Problem with removing registry key containing version info and not removing an assembly while doing a major upgrade

2009-12-07 Thread Ana Martic
Hi,

While creating an installer that should do a major upgrade I firstly faced the 
problem that the registry key containing a version number (of the previous 
version) doesn't get removed.
In order to make it possible that the installer of the upgrade removes it I 
changed the GUID of the component containing that registry key.
I experienced that the component with the new GUID gets installed only if I 
schedule RemoveExistingProducts after InstallInitialize. But in order not to 
remove an assembly from GAC I have to schedule it after InstallFinalize.

Can I find some work around for this problem so that I remove the registry key 
and keep the assembly?

Thanks

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Problem with removing registry key containing version info and not removing an assembly while doing a major upgrade

2009-12-07 Thread Blair
Is the registry value containing the version number the keypath if its
component?

-Original Message-
From: Ana Martic [mailto:t-anm...@microsoft.com] 
Sent: Monday, December 07, 2009 7:31 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Problem with removing registry key containing version
info and not removing an assembly while doing a major upgrade

Hi,

While creating an installer that should do a major upgrade I firstly faced
the problem that the registry key containing a version number (of the
previous version) doesn't get removed.
In order to make it possible that the installer of the upgrade removes it I
changed the GUID of the component containing that registry key.
I experienced that the component with the new GUID gets installed only if I
schedule RemoveExistingProducts after InstallInitialize. But in order not
to remove an assembly from GAC I have to schedule it after InstallFinalize.

Can I find some work around for this problem so that I remove the registry
key and keep the assembly?

Thanks


--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] multiple entries in add remove programs.

2009-12-07 Thread Wilson, Phil
You have OnlyDetect set to Yes when you detect the older version, that won't 
cause the upgrade to occur. 

Phil Wilson 

-Original Message-
From: Giora keinan [mailto:grkei...@gmail.com] 
Sent: Monday, December 07, 2009 1:35 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] multiple entries in add remove programs.

Hello
Thanks Sascha, Asker and Neil.
I tried your ideas and still have no idea what is the problem
I am using only 3 digits version (trying to upgrade 1.0.7 to 1.0.8)

following in my upgrade code, maybe you will found what is the problem:

?xml version='1.0' encoding='windows-1252'?

?define Version = 1.0.8 ?

Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
  Product Name='CapsCake' Id='*' 
UpgradeCode='2638A59D-5047-4E78-87A6-A665B98FA131'
   Language='1033' Codepage='1252' Version='$(var.Version)' 
Manufacturer='Gakay'


  Package Id='*' Keywords='Installer'
  Description=CapCake $(var.Version) Updater
  Comments='CapsCake is a  trademark of Gakay.' Manufacturer='Gakay'
  InstallerVersion='100' Languages='1033' Compressed='yes' 
SummaryCodepage='1252' /

Property Id=INSTALLDIR
  RegistrySearch Id='CapsCakeRegistry' Type='raw'
Root='HKLM' Key='Software\Gakay\CapsCake' Name='InstallDir' /
/Property

   Upgrade Id=474E4E86-1153-4A4D-8ECE-6B1F4D423B24
  UpgradeVersion OnlyDetect=yes Property=OLDERVERSIONBEINGUPGRADED
Minimum=1.0.0 IncludeMinimum=yes Maximum=$(var.Version)
IncludeMaximum=no /
  UpgradeVersion OnlyDetect=yes Property=NEWERVERSIONDETECTED
Minimum=$(var.Version) IncludeMinimum=no /
   /Upgrade


CustomAction Id=AlreadyUpdated Error=[ProductName]  is 
alreadyinstalled. /
CustomAction Id=NoDowngrade Error=A later  version of
[ProductName] is already installed. /


Media Id='1' Cabinet='CapsCake.cab' EmbedCab='yes' /
!--   Property Id='DiskPrompt' Value=CapCake $(var.Version) Updater 
[1] / --

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
  Directory Id='INSTALLDIR' Name='.'

Component Id='MainExecutable' Guid='*'
  File Id='CpasCakeEXE' Name='CapsCake.exe' DiskId='1' 
Source='CapsCake.exe' KeyPath='yes'
  /File
/Component

/Directory
  /Directory

Component Id='CapsAppVersion' Guid='*'
RegistryValue Id='CapsAppVersionKey' Root='HKLM' 
Key='Software\Gakay\CapsCake' Name='AppVersion' Type='string' 
Value='$(var.Version)' Action='write' /
 /Component


/Directory !-- of the first dir --


   Feature Id='Complete'  Title='CapsCake' Description='The complete 
package.'  Display='hidden' Level='1'  ConfigurableDirectory='INSTALLDIR'
  ComponentRef Id='MainExecutable' /
  ComponentRef Id='CapsAppVersion' /
/Feature



InstallExecuteSequence
 !-- Custom Action='AlreadyUpdated' 
After='FindRelatedProducts'OLDERVERSIONBEINGUPGRADED/Custom --
  Custom Action='NoDowngrade' 
After='FindRelatedProducts'NEWERVERSIONDETECTED/Custom
/InstallExecuteSequence



  /Product
/Wix


Thanks
Giora





Sascha Beaumont wrote:
 Using Package/@Id=* I'm using the following code - this prevents two
 versions being installed where only the 4th version number differs.
 This is primarily to prevent confusion with internal testing, and
 means that we bump the third version following each public release in
 order to permit upgrades. We only release major upgrades, so I've got
 no idea how the code below would perform in a minor upgrade/patch
 scenario.



   Upgrade Id=$(var.Property_UpgradeCode)
 UpgradeVersion OnlyDetect=yes
 Minimum=$(var.version)
 Property=NEWERVERSIONDETECTED
 IncludeMinimum=no /

 UpgradeVersion OnlyDetect=no
 Maximum=$(var.version)
 Property=OLDERVERSIONBEINGUPGRADED
 IncludeMaximum=no /

 !-- Detect for changes in 4th field only --
 UpgradeVersion Property=ANOTHERBUILDINSTALLED
  Maximum=$(var.version) Minimum=$(var.version)
  IncludeMinimum=yes IncludeMaximum=yes OnlyDetect=yes /

   /Upgrade

  CustomAction Id=CA_BlockOlderVersionInstall
 Error=!(loc.LaunchCondition_LaterVersion) /
   CustomAction Id=CA_BlockAnotherBuildInstall
 Error=!(loc.LaunchCondition_AnotherBuild) /


 InstallExecuteSequence
 Custom Action=CA_BlockOlderVersionInstall After=FindRelatedProducts
   ![CDATA[NEWERVERSIONDETECTED]]
 /Custom

 !-- Prevent installation on 4th version field change only --
 Custom Action=CA_BlockAnotherBuildInstall After=FindRelatedProducts
   ![CDATA[ANOTHERBUILDINSTALLED]]
 /Custom
 /InstallExecuteSequence


 On Mon, Dec 7, 2009 at 5:54 PM, Asker Brodersen
 asker.broder...@esri-sgroup.se wrote:
   
 Giora, do your versions differ by more than the fourth digit?

 I have found that if you install 

Re: [WiX-users] multiple entries in add remove programs.

2009-12-07 Thread Neil Sleightholm
Goira, your Product/@UpgradeCode doesn't match Upgrade/@Id that is why
you get the duplicate. Take a look at my sample again you will see I use
?define UpgradeCode to stop this happening.

Neil

-Original Message-
From: Giora keinan [mailto:grkei...@gmail.com] 
Sent: 07 December 2009 09:35
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] multiple entries in add remove programs.

Hello
Thanks Sascha, Asker and Neil.
I tried your ideas and still have no idea what is the problem
I am using only 3 digits version (trying to upgrade 1.0.7 to 1.0.8)

following in my upgrade code, maybe you will found what is the problem:

?xml version='1.0' encoding='windows-1252'?

?define Version = 1.0.8 ?

Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
  Product Name='CapsCake' Id='*' 
UpgradeCode='2638A59D-5047-4E78-87A6-A665B98FA131'
   Language='1033' Codepage='1252' Version='$(var.Version)' 
Manufacturer='Gakay'


  Package Id='*' Keywords='Installer'
  Description=CapCake $(var.Version) Updater
  Comments='CapsCake is a  trademark of Gakay.' Manufacturer='Gakay'
  InstallerVersion='100' Languages='1033' Compressed='yes' 
SummaryCodepage='1252' /

Property Id=INSTALLDIR
  RegistrySearch Id='CapsCakeRegistry' Type='raw'
Root='HKLM' Key='Software\Gakay\CapsCake' Name='InstallDir' /
/Property

   Upgrade Id=474E4E86-1153-4A4D-8ECE-6B1F4D423B24
  UpgradeVersion OnlyDetect=yes
Property=OLDERVERSIONBEINGUPGRADED
Minimum=1.0.0 IncludeMinimum=yes
Maximum=$(var.Version)
IncludeMaximum=no /
  UpgradeVersion OnlyDetect=yes Property=NEWERVERSIONDETECTED
Minimum=$(var.Version) IncludeMinimum=no /
   /Upgrade


CustomAction Id=AlreadyUpdated Error=[ProductName]  is 
alreadyinstalled. /
CustomAction Id=NoDowngrade Error=A later  version of
[ProductName] is already installed. /


Media Id='1' Cabinet='CapsCake.cab' EmbedCab='yes' /
!--   Property Id='DiskPrompt' Value=CapCake $(var.Version) Updater 
[1] / --

Directory Id='TARGETDIR' Name='SourceDir'
  Directory Id='ProgramFilesFolder' Name='PFiles'
  Directory Id='INSTALLDIR' Name='.'

Component Id='MainExecutable' Guid='*'
  File Id='CpasCakeEXE' Name='CapsCake.exe' DiskId='1' 
Source='CapsCake.exe' KeyPath='yes'
  /File
/Component

/Directory
  /Directory

Component Id='CapsAppVersion' Guid='*'
RegistryValue Id='CapsAppVersionKey' Root='HKLM' 
Key='Software\Gakay\CapsCake' Name='AppVersion' Type='string' 
Value='$(var.Version)' Action='write' /
 /Component


/Directory !-- of the first dir --


   Feature Id='Complete'  Title='CapsCake' Description='The complete 
package.'  Display='hidden' Level='1'
ConfigurableDirectory='INSTALLDIR'
  ComponentRef Id='MainExecutable' /
  ComponentRef Id='CapsAppVersion' /
/Feature



InstallExecuteSequence
 !-- Custom Action='AlreadyUpdated' 
After='FindRelatedProducts'OLDERVERSIONBEINGUPGRADED/Custom --
  Custom Action='NoDowngrade' 
After='FindRelatedProducts'NEWERVERSIONDETECTED/Custom
/InstallExecuteSequence



  /Product
/Wix


Thanks
Giora





Sascha Beaumont wrote:
 Using Package/@Id=* I'm using the following code - this prevents two
 versions being installed where only the 4th version number differs.
 This is primarily to prevent confusion with internal testing, and
 means that we bump the third version following each public release in
 order to permit upgrades. We only release major upgrades, so I've got
 no idea how the code below would perform in a minor upgrade/patch
 scenario.



   Upgrade Id=$(var.Property_UpgradeCode)
 UpgradeVersion OnlyDetect=yes
 Minimum=$(var.version)
 Property=NEWERVERSIONDETECTED
 IncludeMinimum=no /

 UpgradeVersion OnlyDetect=no
 Maximum=$(var.version)
 Property=OLDERVERSIONBEINGUPGRADED
 IncludeMaximum=no /

 !-- Detect for changes in 4th field only --
 UpgradeVersion Property=ANOTHERBUILDINSTALLED
  Maximum=$(var.version) Minimum=$(var.version)
  IncludeMinimum=yes IncludeMaximum=yes
OnlyDetect=yes /

   /Upgrade

  CustomAction Id=CA_BlockOlderVersionInstall
 Error=!(loc.LaunchCondition_LaterVersion) /
   CustomAction Id=CA_BlockAnotherBuildInstall
 Error=!(loc.LaunchCondition_AnotherBuild) /


 InstallExecuteSequence
 Custom Action=CA_BlockOlderVersionInstall
After=FindRelatedProducts
   ![CDATA[NEWERVERSIONDETECTED]]
 /Custom

 !-- Prevent installation on 4th version field change only --
 Custom Action=CA_BlockAnotherBuildInstall
After=FindRelatedProducts
   ![CDATA[ANOTHERBUILDINSTALLED]]
 /Custom
 /InstallExecuteSequence


 On Mon, Dec 7, 2009 at 5:54 PM, Asker Brodersen
 asker.broder...@esri-sgroup.se wrote:
   
 Giora, do your versions differ by 

Re: [WiX-users] How Do I Verify Group Membership?

2009-12-07 Thread Richard

If you have special security needs, the best approach is to create a user
or group with exactly the permissions that you need and have your code run
as that user or as a member of that group.

When you uninstall your application you remove the created user/group.
-- 
The Direct3D Graphics Pipeline -- DirectX 9 draft available for download
 http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/

  Legalize Adulthood! http://legalizeadulthood.wordpress.com

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] SqlString is Name a keyword?

2009-12-07 Thread Steve Braswell
All:

 

I'm using SqlString to affect changes to the database during
installation.  Here is a snippet from the wxs file:

 

sql:SqlString Id=InsertCabinetScript ExecuteOnInstall=yes
Sequence=6

SQL=IF NOT EXISTS (

  SELECT * FROM Cabinet WHERE [Name] = '[SQLSERVERDATABASENAME]'

)

INSERT INTO Cabinet ([Name], StorageProvider)

VALUES ('[SQLSERVERDATABASENAME]','[STORAGEPROVIDERCONFIG]' ) /

 

I'm getting the following exception during install:

 

Error -2147217900: failed to execute SQL string, error

Detail: Line 4: Incorrect syntax near ','., SQL key:

InsertCabinetScript SQL string: IF NOT EXISTS (

SELECT * FROM Cabinet WHERE  = 'installTest'

)

INSERT INTO Cabinet (, StorageProvider)...

 

As you can see the error message includes the first bit of the script
and Name is being replaced with an empty string in the two places it
shows up.  I have tried Name and [Name] in the script with the same
results for each.

 

Any help on this is greatly appreciated.

 

Regards,

 

Steve Braswell

Informa Software

 

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] SqlString is Name a keyword?

2009-12-07 Thread Alexander Shevchuk (Volt)
Hi Steve,

I guess, SQL attribute is a Formatted string.  Try to escape [ and ]:

[\[]

And 

[\]]


Alex



-Original Message-
From: Steve Braswell [mailto:sbrasw...@informasoftware.com] 
Sent: Monday, December 07, 2009 1:12 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] SqlString is Name a keyword?

All:

 

I'm using SqlString to affect changes to the database during
installation.  Here is a snippet from the wxs file:

 

sql:SqlString Id=InsertCabinetScript ExecuteOnInstall=yes
Sequence=6

SQL=IF NOT EXISTS (

  SELECT * FROM Cabinet WHERE [Name] = '[SQLSERVERDATABASENAME]'

)

INSERT INTO Cabinet ([Name], StorageProvider)

VALUES ('[SQLSERVERDATABASENAME]','[STORAGEPROVIDERCONFIG]' ) /

 

I'm getting the following exception during install:

 

Error -2147217900: failed to execute SQL string, error

Detail: Line 4: Incorrect syntax near ','., SQL key:

InsertCabinetScript SQL string: IF NOT EXISTS (

SELECT * FROM Cabinet WHERE  = 'installTest'

)

INSERT INTO Cabinet (, StorageProvider)...

 

As you can see the error message includes the first bit of the script
and Name is being replaced with an empty string in the two places it
shows up.  I have tried Name and [Name] in the script with the same
results for each.

 

Any help on this is greatly appreciated.

 

Regards,

 

Steve Braswell

Informa Software

 

--
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Instance transforms with the msi

2009-12-07 Thread Uma Harano
Hi,
I am using instance transforms (msts) to install multiple instances of my base 
product (msi) on the same machine.

Everything works except for one issue:
I use an instance identifier property [INSTANCEPROP] that gets set 
toInstance1, Instance 2,...etc for each instance. I use this property to 
write registry keys for each instance. For example - 
HKLM\Software\ESRI\[INSTANCEPROP] is written via the registry table (One record 
in the registry table to linked to one component). When multiple instances are 
installed, this key could be repeated multiple times, but they would all be in 
their own hive
HKLM\Software\ESRI\ Instance1
HKLM\Software\ESRI\ Instance2
HKLM\Software\ESRI\ Instance3
Etc

Scenario:
The base setup and an instance 1 is installed, I uninstall the instance 1. I 
find that HKLM\Software\ESRI\Instance1 is still left behind on the machine 
after instance 1 is uninstalled.  Is this because the component that includes 
this registry key is still in the installed state with the base setup?
What would be the best way to ensure that the HKLM\Software\ESRI\Instance1 get 
removed when instance 1 is uninstalled? Should I make multiple components in 
the msi each with unique conditions for each transform? Or create a custom 
action that deletes the registry entry for each transform?

Thanks!
Uma Harano

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Instance transforms with the msi

2009-12-07 Thread Kelly . Leahy
Are you using the same component GUID for each of these keys?  You can't 
do that...  It's breaking the component rules and all kinds of bad things 
happen when you break the component rules.

Each distinct component keypath (the 'main' entry in a component) MUST 
have a unique component GUID.  Each distinct component GUID can only be 
installed in one place on a given machine (you can't try to install the 
same GUID to two different keypaths).

Kelly




Uma Harano uhar...@esri.com 

12/07/2009 02:47 PM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
[WiX-users] Instance transforms with the msi






Hi,
I am using instance transforms (msts) to install multiple instances of my 
base product (msi) on the same machine.

Everything works except for one issue:
I use an instance identifier property [INSTANCEPROP] that gets set 
toInstance1, Instance 2,...etc for each instance. I use this property 
to write registry keys for each instance. For example - 
HKLM\Software\ESRI\[INSTANCEPROP] is written via the registry table (One 
record in the registry table to linked to one component). When multiple 
instances are installed, this key could be repeated multiple times, but 
they would all be in their own hive
HKLM\Software\ESRI\ Instance1
HKLM\Software\ESRI\ Instance2
HKLM\Software\ESRI\ Instance3
Etc

Scenario:
The base setup and an instance 1 is installed, I uninstall the instance 1. 
I find that HKLM\Software\ESRI\Instance1 is still left behind on the 
machine after instance 1 is uninstalled.  Is this because the component 
that includes this registry key is still in the installed state with the 
base setup?
What would be the best way to ensure that the HKLM\Software\ESRI\Instance1 
get removed when instance 1 is uninstalled? Should I make multiple 
components in the msi each with unique conditions for each transform? Or 
create a custom action that deletes the registry entry for each transform?

Thanks!
Uma Harano

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users




**
This communication is intended solely for the addressee and is
confidential. If you are not the intended recipient, any disclosure, 
copying, distribution or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. Unless indicated
to the contrary: it does not constitute professional advice or opinions
upon which reliance may be made by the addressee or any other party,
and it should be considered to be a work in progress. Unless otherwise
noted in this email or its attachments, this communication does not form 
a Statement of Actuarial Opinion under American Academy of Actuaries guidelines.
**
--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Instance transforms with the msi

2009-12-07 Thread Uma Harano
Each instance has a unique Product Code. Also, I was following the guidelines 
from the Windows installer SDK (On how to author instance transforms).
How do I install the same set of files for multiple instances using transforms?

Please advise!
Uma-


Here is the windows installer sdk topic on this:


Authoring Multiple Instances with Instance Transforms
To install multiple instances of a product from one Windows(r) Installer 
package, you need to author a base installation package for the product and an 
instance transform for each instance to be installed in addition to the base 
instance. Use the following guidelines when authoring your base package and 
transforms:

*Your setup application can check for the presence of the installer running on 
a version of the Microsoft(r)Windows Server 2003 family, Windows XP SP1, 
Windows 2000 SP4 and the Windows Installer 3.0 redistributable. Any of these 
installer versions (or later) are required to install multiple instances from a 
single package using a product code-changing transform. 
* Each instance must have a unique product code and instance identifier. You 
may define a property in the base package, the value of which can be set to the 
instance identifier. 
* To keep the files of each instance isolated, the base package should install 
files into a directory location that depends on the instance identifier. 
* To keep the nonfile data of each instance isolated, the base package should 
collect nonfile data into sets of components for each instance. The appropriate 
components should then be installed based on conditional statements that depend 
on the instance identifier. 
* Author an instance transform for each instance being installed in addition to 
the base instance. The base package may install its own instance. 
* The instance transform must change the product code and identifier for each 
instance. 
* It is recommended that the product transform also change the product name so 
that the instance is readily distinguished in Add/Remove Programs through 
Control Panel. 
* If the instance transform installs files, they should be installed in a 
directory that depends on the instance identifier. 
* All nonfile data, such as registry keys, should include the instance name in 
their path to prevent collisions. This can be accomplished by using the 
property whose value is the instance identifier in the path as shown by the 
following example of a Registry Table.


-Original Message-
From: kelly.le...@milliman.com [mailto:kelly.le...@milliman.com] 
Sent: Monday, December 07, 2009 2:52 PM
To: General discussion for Windows Installer XML toolset.
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

Are you using the same component GUID for each of these keys?  You can't 
do that...  It's breaking the component rules and all kinds of bad things 
happen when you break the component rules.

Each distinct component keypath (the 'main' entry in a component) MUST 
have a unique component GUID.  Each distinct component GUID can only be 
installed in one place on a given machine (you can't try to install the 
same GUID to two different keypaths).

Kelly




Uma Harano uhar...@esri.com 

12/07/2009 02:47 PM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
[WiX-users] Instance transforms with the msi






Hi,
I am using instance transforms (msts) to install multiple instances of my 
base product (msi) on the same machine.

Everything works except for one issue:
I use an instance identifier property [INSTANCEPROP] that gets set 
toInstance1, Instance 2,...etc for each instance. I use this property 
to write registry keys for each instance. For example - 
HKLM\Software\ESRI\[INSTANCEPROP] is written via the registry table (One 
record in the registry table to linked to one component). When multiple 
instances are installed, this key could be repeated multiple times, but 
they would all be in their own hive
HKLM\Software\ESRI\ Instance1
HKLM\Software\ESRI\ Instance2
HKLM\Software\ESRI\ Instance3
Etc

Scenario:
The base setup and an instance 1 is installed, I uninstall the instance 1. 
I find that HKLM\Software\ESRI\Instance1 is still left behind on the 
machine after instance 1 is uninstalled.  Is this because the component 
that includes this registry key is still in the installed state with the 
base setup?
What would be the best way to ensure that the HKLM\Software\ESRI\Instance1 
get removed when instance 1 is uninstalled? Should I make multiple 
components in the msi each with unique conditions for each transform? Or 
create a custom action that deletes the registry entry for each transform?

Thanks!
Uma Harano

--
Return on Information:
Google Enterprise 

Re: [WiX-users] Instance transforms with the msi

2009-12-07 Thread Kelly . Leahy
I wasn't asking about ProductCode.  I'm asking about the component GUID 
for the registry key you're referring to.  You need to assign different 
GUIDs for all components that could be installed in two locations by the 
two different instances.  If you want to install the same files in two 
places, you're going to have to modify all the component GUIDs for the 
files, if I understand the process correctly.  I'm not an expert on using 
instance transforms to install multiple instances, but it seems like no 
matter what you do, you can't break the component rules.  Otherwise, it 
won't install the files to the new locations, since it will think they 
are already installed (based on the component ID and its installed state).

Kelly




Uma Harano uhar...@esri.com 

12/07/2009 03:24 PM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
Re: [WiX-users] Instance transforms with the msi






Each instance has a unique Product Code. Also, I was following the 
guidelines from the Windows installer SDK (On how to author instance 
transforms).
How do I install the same set of files for multiple instances using 
transforms?

Please advise!
Uma-


Here is the windows installer sdk topic on this:


Authoring Multiple Instances with Instance Transforms
To install multiple instances of a product from one Windows(r) Installer 
package, you need to author a base installation package for the product 
and an instance transform for each instance to be installed in addition to 
the base instance. Use the following guidelines when authoring your base 
package and transforms:

*Your setup application can check for the presence of the installer 
running on a version of the Microsoft(r)Windows Server 2003 family, 
Windows XP SP1, Windows 2000 SP4 and the Windows Installer 3.0 
redistributable. Any of these installer versions (or later) are required 
to install multiple instances from a single package using a product 
code-changing transform. 
* Each instance must have a unique product code and instance identifier. 
You may define a property in the base package, the value of which can be 
set to the instance identifier. 
* To keep the files of each instance isolated, the base package should 
install files into a directory location that depends on the instance 
identifier. 
* To keep the nonfile data of each instance isolated, the base package 
should collect nonfile data into sets of components for each instance. The 
appropriate components should then be installed based on conditional 
statements that depend on the instance identifier. 
* Author an instance transform for each instance being installed in 
addition to the base instance. The base package may install its own 
instance. 
* The instance transform must change the product code and identifier for 
each instance. 
* It is recommended that the product transform also change the product 
name so that the instance is readily distinguished in Add/Remove Programs 
through Control Panel. 
* If the instance transform installs files, they should be installed in a 
directory that depends on the instance identifier. 
* All nonfile data, such as registry keys, should include the instance 
name in their path to prevent collisions. This can be accomplished by 
using the property whose value is the instance identifier in the path as 
shown by the following example of a Registry Table.


-Original Message-
From: kelly.le...@milliman.com [mailto:kelly.le...@milliman.com] 
Sent: Monday, December 07, 2009 2:52 PM
To: General discussion for Windows Installer XML toolset.
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

Are you using the same component GUID for each of these keys?  You can't 
do that...  It's breaking the component rules and all kinds of bad things 
happen when you break the component rules.

Each distinct component keypath (the 'main' entry in a component) MUST 
have a unique component GUID.  Each distinct component GUID can only be 
installed in one place on a given machine (you can't try to install the 
same GUID to two different keypaths).

Kelly




Uma Harano uhar...@esri.com 

12/07/2009 02:47 PM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
[WiX-users] Instance transforms with the msi






Hi,
I am using instance transforms (msts) to install multiple instances of my 
base product (msi) on the same machine.

Everything works except for one issue:
I use an instance identifier property [INSTANCEPROP] that gets set 
toInstance1, Instance 2,...etc for each instance. I use this property 
to write registry keys for each instance. For example - 
HKLM\Software\ESRI\[INSTANCEPROP] is 

[WiX-users] Two Custom Action entry points in one C++ Dll and WcaLog failure

2009-12-07 Thread Tony Juricic
At one point I was thinking that I have too many C++ Custom Action Dlls and 
started using existing Dlls. That is, I added a new entry point for a new CA in 
a Dll that already hosted code for existing CA. That appears to work just fine 
except for one issue: WcaLog() doesn't work - nothing gets output in a log!
I don't know if the fact that I have 2 CA and 2 entry points in this DLL is 
relevant, but this is the only case where WcaLog doesn't work. I am using calls 
like:
::WcaLog(LOGMSG_STANDARD, Install folder %S created., Path);
so there is hardly anything mysterious here that can fail when many similar 
calls in many other CA Dlls  work.


TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) 
of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, 
FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and 
subscription company, and TradeStation Europe Limited, a United Kingdom, 
FSA-authorized introducing brokerage firm. None of these companies provides 
trading or investment advice, recommendations or endorsements of any kind. The 
information transmitted is intended only for the person or entity to which it 
is addressed and may contain confidential and/or privileged material. Any 
review, retransmission, dissemination or other use of, or taking of any action 
in reliance upon, this information by persons or entities other than the 
intended recipient is prohibited. If you received this in error, please contact 
the sender and delete the material from any computer.
--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Instance transforms with the msi

2009-12-07 Thread Michael Osmond
Hi

If you are using MSI Instances and installing to different locations, you don't 
need different component GUIDs for each component in each installed instance 
and the reference counting seems to work okay.   I will be honest and say I 
don't know how it works under the hood, but it does work.The installer is 
able to work out where things are.

I do however use a registry key for each instance to keep the path where I 
installed that instance too, which comes in handy on major upgrades.  Also have 
found it usefull to record the product ID of the instance in the registry as 
well.

Michael


From: kelly.le...@milliman.com [kelly.le...@milliman.com]
Sent: Tuesday, 8 December 2009 9:32 AM
To: General discussion for Windows Installer XML toolset.
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

I wasn't asking about ProductCode.  I'm asking about the component GUID
for the registry key you're referring to.  You need to assign different
GUIDs for all components that could be installed in two locations by the
two different instances.  If you want to install the same files in two
places, you're going to have to modify all the component GUIDs for the
files, if I understand the process correctly.  I'm not an expert on using
instance transforms to install multiple instances, but it seems like no
matter what you do, you can't break the component rules.  Otherwise, it
won't install the files to the new locations, since it will think they
are already installed (based on the component ID and its installed state).

Kelly




Uma Harano uhar...@esri.com

12/07/2009 03:24 PM
Please respond to
General discussion for Windows Installer XML toolset.
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset.
wix-users@lists.sourceforge.net
cc

Subject
Re: [WiX-users] Instance transforms with the msi






Each instance has a unique Product Code. Also, I was following the
guidelines from the Windows installer SDK (On how to author instance
transforms).
How do I install the same set of files for multiple instances using
transforms?

Please advise!
Uma-


Here is the windows installer sdk topic on this:


Authoring Multiple Instances with Instance Transforms
To install multiple instances of a product from one Windows(r) Installer
package, you need to author a base installation package for the product
and an instance transform for each instance to be installed in addition to
the base instance. Use the following guidelines when authoring your base
package and transforms:

*Your setup application can check for the presence of the installer
running on a version of the Microsoft(r)Windows Server 2003 family,
Windows XP SP1, Windows 2000 SP4 and the Windows Installer 3.0
redistributable. Any of these installer versions (or later) are required
to install multiple instances from a single package using a product
code-changing transform.
* Each instance must have a unique product code and instance identifier.
You may define a property in the base package, the value of which can be
set to the instance identifier.
* To keep the files of each instance isolated, the base package should
install files into a directory location that depends on the instance
identifier.
* To keep the nonfile data of each instance isolated, the base package
should collect nonfile data into sets of components for each instance. The
appropriate components should then be installed based on conditional
statements that depend on the instance identifier.
* Author an instance transform for each instance being installed in
addition to the base instance. The base package may install its own
instance.
* The instance transform must change the product code and identifier for
each instance.
* It is recommended that the product transform also change the product
name so that the instance is readily distinguished in Add/Remove Programs
through Control Panel.
* If the instance transform installs files, they should be installed in a
directory that depends on the instance identifier.
* All nonfile data, such as registry keys, should include the instance
name in their path to prevent collisions. This can be accomplished by
using the property whose value is the instance identifier in the path as
shown by the following example of a Registry Table.


-Original Message-
From: kelly.le...@milliman.com [mailto:kelly.le...@milliman.com]
Sent: Monday, December 07, 2009 2:52 PM
To: General discussion for Windows Installer XML toolset.
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

Are you using the same component GUID for each of these keys?  You can't
do that...  It's breaking the component rules and all kinds of bad things
happen when you break the component rules.

Each distinct component keypath (the 'main' entry in a component) MUST
have a unique component GUID.  

Re: [WiX-users] How Do I Verify Group Membership?

2009-12-07 Thread Castro, Edwin G. (Hillsboro)
In general I don't have permission nor ability to create the domain 
accounts/groups with the required permissions on our target environments. 
Requirements/restrictions can get in the way sometimes.

Edwin G. Castro
Software Developer - Staff
Electronic Banking Services
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail

 -Original Message-
 From: Richard [mailto:legal...@xmission.com]
 Sent: Monday, December 07, 2009 10:08 AM
 To: wix-users@lists.sourceforge.net
 Subject: Re: [WiX-users] How Do I Verify Group Membership?
 
 
 If you have special security needs, the best approach is to create a
 user
 or group with exactly the permissions that you need and have your code
 run
 as that user or as a member of that group.
 
 When you uninstall your application you remove the created user/group.
 --
 The Direct3D Graphics Pipeline -- DirectX 9 draft available for
 download
  http://legalizeadulthood.wordpress.com/the-direct3d-graphics-
 pipeline/
 
   Legalize Adulthood! http://legalizeadulthood.wordpress.com
 
 ---
 ---
 Join us December 9, 2009 for the Red Hat Virtual Experience,
 a free event focused on virtualization and cloud computing.
 Attend in-depth sessions from your desk. Your couch. Anywhere.
 http://p.sf.net/sfu/redhat-sfdev2dev
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Quiet Execution Custom Action - run a temporary executable

2009-12-07 Thread Vladimir Iahnenco
Hi All,

I have an executable which has to be launched as a custom action. It is a
temporary one, I have to run and delete it after that.

When I add it as a Binary and Custom action it works.

 

Binary Id=SetConfigExe
SourceFile=$(var.SetConfig.TargetDir)SetConfig.exe /

CustomAction Id=RunSetConfig PAR1=[SOMEPAR1] /

 

Now I want to execute it silently, I added an action  to set RunSetConfig
property and another CAQuietExec custom action to execute.

 

CustomAction Id=RunSetConfig BinaryKey=WixCA DllEntry=CAQuietExec
Execute=deferred Return=check Impersonate=no/

 

From the log file I see that exe name and parameters are assigned properly
but with no path to the exe and installer seems cannot find that exe. Any
way to point the action on a binary? I don't want to include that exe as a
component.

 

Thanks,

Vladimir

 

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] table contains an action '' -- how to find it ??? (Light warning 1055)

2009-12-07 Thread Alan Sinclair
Light is giving this warning:
Console.wxs(142) : warning LGHT1055 : The  table contains an action '' which 
cannot be merged from the merge module 'CDF.msm'.

How can I find which action is colliding?  Light omits the name, and there's no 
obvious culprit in CDF.msm (which is built elsewhere, and not from WiX source) 
nor in Console.wxs

The Console.wxs source was converted by dark.exe (original source was Wise) and 
contains no custom actions itself, but does pull in a number of other merge 
modules with numerous custom actions.  We're using Wix 3.0.5419.0.

The full text warning is

Console.wxs(142) : warning LGHT1055 : The  table contains an action '' which 
cannot be merged from the merge module 'CDF.msm'.  This action is likely 
colliding with an action in the database that is being created.  The colliding 
action may have been authored in the database or merged in from another merge 
module.  If this is a standard action, it is likely colliding due to a 
difference in the condition for the action in the database and merge module.  
If this is a custom action, it should only be declared in the database or one 
merge module.

thanks

--
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Instance transforms with the msi

2009-12-07 Thread Yan Sklyarenko
See if this can be of any help for you:
http://ysdevlog.blogspot.com/2008/12/multiple-instance-installations-and
.html
It works for me.

-- Yan

-Original Message-
From: Uma Harano [mailto:uhar...@esri.com] 
Sent: Tuesday, December 08, 2009 01:24
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

Each instance has a unique Product Code. Also, I was following the
guidelines from the Windows installer SDK (On how to author instance
transforms).
How do I install the same set of files for multiple instances using
transforms?

Please advise!
Uma-


Here is the windows installer sdk topic on this:


Authoring Multiple Instances with Instance Transforms
To install multiple instances of a product from one Windows(r) Installer
package, you need to author a base installation package for the product
and an instance transform for each instance to be installed in addition
to the base instance. Use the following guidelines when authoring your
base package and transforms:

*Your setup application can check for the presence of the installer
running on a version of the Microsoft(r)Windows Server 2003 family,
Windows XP SP1, Windows 2000 SP4 and the Windows Installer 3.0
redistributable. Any of these installer versions (or later) are required
to install multiple instances from a single package using a product
code-changing transform. 
* Each instance must have a unique product code and instance identifier.
You may define a property in the base package, the value of which can be
set to the instance identifier. 
* To keep the files of each instance isolated, the base package should
install files into a directory location that depends on the instance
identifier. 
* To keep the nonfile data of each instance isolated, the base package
should collect nonfile data into sets of components for each instance.
The appropriate components should then be installed based on conditional
statements that depend on the instance identifier. 
* Author an instance transform for each instance being installed in
addition to the base instance. The base package may install its own
instance. 
* The instance transform must change the product code and identifier for
each instance. 
* It is recommended that the product transform also change the product
name so that the instance is readily distinguished in Add/Remove
Programs through Control Panel. 
* If the instance transform installs files, they should be installed in
a directory that depends on the instance identifier. 
* All nonfile data, such as registry keys, should include the instance
name in their path to prevent collisions. This can be accomplished by
using the property whose value is the instance identifier in the path as
shown by the following example of a Registry Table.


-Original Message-
From: kelly.le...@milliman.com [mailto:kelly.le...@milliman.com] 
Sent: Monday, December 07, 2009 2:52 PM
To: General discussion for Windows Installer XML toolset.
Cc: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Instance transforms with the msi

Are you using the same component GUID for each of these keys?  You can't

do that...  It's breaking the component rules and all kinds of bad
things 
happen when you break the component rules.

Each distinct component keypath (the 'main' entry in a component) MUST 
have a unique component GUID.  Each distinct component GUID can only be 
installed in one place on a given machine (you can't try to install the 
same GUID to two different keypaths).

Kelly




Uma Harano uhar...@esri.com 

12/07/2009 02:47 PM
Please respond to
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net


To
General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
cc

Subject
[WiX-users] Instance transforms with the msi






Hi,
I am using instance transforms (msts) to install multiple instances of
my 
base product (msi) on the same machine.

Everything works except for one issue:
I use an instance identifier property [INSTANCEPROP] that gets set 
toInstance1, Instance 2,...etc for each instance. I use this
property 
to write registry keys for each instance. For example - 
HKLM\Software\ESRI\[INSTANCEPROP] is written via the registry table (One

record in the registry table to linked to one component). When multiple 
instances are installed, this key could be repeated multiple times, but 
they would all be in their own hive
HKLM\Software\ESRI\ Instance1
HKLM\Software\ESRI\ Instance2
HKLM\Software\ESRI\ Instance3
Etc

Scenario:
The base setup and an instance 1 is installed, I uninstall the instance
1. 
I find that HKLM\Software\ESRI\Instance1 is still left behind on the 
machine after instance 1 is uninstalled.  Is this because the component 
that includes this registry key is still in the installed state with the

base setup?
What would be the best way to ensure that the
HKLM\Software\ESRI\Instance1 
get removed