[WiX-users] How to detect which older version is already present on target machine ?

2010-07-15 Thread Sanjay Rao
how to detect which older version of product is already present on 
target machine ?

Regards,
Sanjay



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] How to add UI for Minor Patches(msp)?

2010-07-15 Thread KATO Kanryu
hi,

I made a minor patch with PatchCreation, .pcp and MsiMsp.exe
But the msp doesn't have any Wizard UIs.

How to add UI for that?

Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
PatchCreation
Id=224C316D-5894-4771-BABF-21A3AC1F75FF
CleanWorkingFolder=yes
OutputPath=patch.pcp
WholeFilesOnly=yes
Codepage=932


PatchInformation
Description=$(var.AppFullName) Updater $(var.PatchVersion)
Comments=$(var.AppFullName) Updater $(var.PatchVersion)
ShortNames=no
Languages=1041
Compressed=yes
Manufacturer=Our Company/

PatchMetadata
AllowRemoval=yes
Description=$(var.AppFullName) Updater $(var.PatchVersion)
ManufacturerName=Our Company
TargetProductName=$(var.AppFullName)
MoreInfoURL=http://www.ours.co.jp;
Classification=Update
DisplayName=$(var.AppFullName) Updater $(var.PatchVersion)/

Family DiskId=5000
MediaSrcProp=Sample
Name=Sample
SequenceStart=5000
UpgradeImage SourceFile=Maou11.msi Id=SampleUpgrade
TargetImage SourceFile=Maou.msi Order=2
Id=SampleTarget IgnoreMissingFiles=no /
/UpgradeImage
/Family

PatchSequence PatchFamily=SamplePatchFamily
Sequence=1.0.0.0
Supersede=yes
 /

/PatchCreation
/Wix

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Conditionally Show Dialog Button based onInstalleraction (installed vs. removed vs. repaired, etc)

2010-07-15 Thread Pally Sandher
So you're telling us you have trouble knowing the contents of a file
you're installing on the target machine until after it's been installed?


Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Jeremy Rimer [mailto:jeremyri...@gmail.com] 
Sent: 14 July 2010 17:40
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Conditionally Show Dialog Button based
onInstalleraction (installed vs. removed vs. repaired, etc)

funny you mention that... The original requirements of this installer
were to prompt the user the defaults provided in the App.Config file of
the deployed program, which meant that we COULDNT prompt the user for
settings before the files were copied. It turned out that particular
action was impossible ANYWAY, because you can't modify the session for
use in dialogs AFTER the files are copied, only prior in the UI
sequence... So perhaps if I re-engineered this whole thing to prompt
FIRST, I can avoid these problems?

The way it is currently written, you can either overwrite, or set the
settings OPTIONALLY before exiting the installer. (i.e. leave the
app.config unmolested from the installation, or prior installation, OR,
branch off and edit the entries, and submit to update the deployed
app.config file...


On Wed, Jul 14, 2010 at 11:29 AM, Pally Sandher
pally.sand...@iesve.comwrote:

 Wouldn't it be better to ask the user the configuration questions 
 during the UI Sequence  make the modifications to the app.config 
 using XMLConfig as part of the install process? That way you could 
 condition when your dialog is shown more appropriately instead of 
 needing multiple ExitDialogs and you'd be following standard expected 
 installer conventions.

 Palbinder Sandher
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500
 F: +44 (0) 141 945 8501

 http://www.iesve.com
 **Design, Simulate + Innovate with the Virtual Environment** 
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456
 Registered Office - Helix Building, West Of Scotland Science Park, 
 Glasgow G20 0SP Email Disclaimer

 -Original Message-
 From: Jeremy Rimer [mailto:jeremyri...@gmail.com]
 Sent: 14 July 2010 17:09
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Conditionally Show Dialog Button based on 
 Installeraction (installed vs. removed vs. repaired, etc)

 I put ![CDATA[NOT INSTALLED=1]] in those Show elements, but it 
 still showed the MyExitDialog in both the Remove and Install paths...
?

 On Wed, Jul 14, 2010 at 10:55 AM, Dan Hoeger
 dan.hoe...@microsoft.comwrote:

  INSTALLED is still undefined at the end of the initial install.
 
  So you would want the condition below to be NOT INSTALLED to be 
  true

  for the initial install.
 
 
  -Original Message-
  From: Jeremy Rimer [mailto:jeremyri...@gmail.com]
  Sent: Wednesday, July 14, 2010 10:25 AM
  To: General discussion for Windows Installer XML toolset.
  Subject: Re: [WiX-users] Conditionally Show Dialog Button based on 
  Installer action (installed vs. removed vs. repaired, etc)
 
  I must also add that under my custom exit dialog, I have this:
  ==
  InstallUISequence
 Show Dialog=MyExitDialog
  OnExit=success![CDATA[INSTALLED]]/Show
  /InstallUISequence
 
  AdminUISequence
 Show Dialog=MyExitDialog OnExit=success
  ![CDATA[INSTALLED]]/Show
  /AdminUISequence
  ==
  ... but this just causes NO exit dialog to show in both Install and 
  Remove paths of the installer :( -Jeremy
 
 
  On Wed, Jul 14, 2010 at 10:17 AM, Jeremy Rimer 
  jeremyri...@gmail.com
  wrote:
 
   I have one last problem before my installer is completely working:
  
   I have a custom EXIT dialog that I created called MyExitDialog 
   that contains an extra button that spawns a custom dialog to 
   gather application settings from the user to write into the 
   App.Config file

   that was deployed and/or existed during installation or repair.
  
   The dialog does its job, but unfortunately it also displays (and 
   does its
   job) after an application has been removed with the installer, 
   which

   is useless, of course since there's no more app.config file to 
   care about on a removal of the application.
  
   I see in the Publish elements how to conditionally control what a 
   button * does*, but how do you conditionally control when a button

   *shows
  itself*in its dialog?
  
   If this is impossible, how can I force the installer to display 
   the standard WIX ExitDialog instead of MyExitDialog in the case of

   a 

Re: [WiX-users] Virtual directories not deleted when uninstalling

2010-07-15 Thread MYFLEX

Thanks for your suggestion, I got the solution for my problem also. :)

srinivas
-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Virtual-directories-not-deleted-when-uninstalling-tp688905p5296608.html
Sent from the wix-users mailing list archive at Nabble.com.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] About running Any CPU custom EXE from 32bit MSI on 64bit machine

2010-07-15 Thread Chirag Goradia
Hi everyone,

We are running custom EXEs ( .NET 2.0 console application ) built with Any
CPU platform from a 32bit MSI on 64bit machine.
In the custom EXE, we use *
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)* to execute
some custom logic on our files installed in the ProgramFiles folder path.

The issue is on 64bit machine:
32bit MSI installs files to C:\Program Files (x86)\
custom EXE runs logic in C:\Program Files\  ... we think this is because it
was built for Any CPU platform

In the CustomAction  node, we tried to set Win64=no so that it runs the
custom EXE as if it were on 32bit machine. However, still the custom EXE
runs logic in C:\Program Files\  instead of C:\Program Files (x86)\


Do you have any suggestions ?

Thanks
Chirag
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to detect which older version is already present on target machine ?

2010-07-15 Thread Pally Sandher
http://www.tramontana.co.hu/wix/lesson4.php#4.1 


Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Sanjay Rao [mailto:s...@noida.interrasystems.com] 
Sent: 15 July 2010 07:19
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] How to detect which older version is already
present on target machine ?

how to detect which older version of product is already present on
target machine ?

Regards,
Sanjay




--
This SF.net email is sponsored by Sprint What will you do first with
EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] FileSharePermission - Change?

2010-07-15 Thread Rob Mensching
Probably the correct combination of flags.

On Wed, Jul 14, 2010 at 12:13 AM, Elfe Xu elf...@microsoft.com wrote:


 WOW!
 GenericRead + Traverse really works for Read!
 Why it has such an interesting behavior? Is it a bug or by design?
The GenericRead='yes' Traverse='yes' seems to give Read.
 --
 View this message in context:
 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/FileSharePermission-Change-tp711870p5291311.html
 Sent from the wix-users mailing list archive at Nabble.com.


 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Restart Manager (reboot after uninstall)

2010-07-15 Thread Rob Mensching
Maybe: the CloseApps WiX extension could detect that your shell extension is
loaded and then you could use that to condition a ScheduleReboot action.

On Wed, Jul 14, 2010 at 1:36 PM, i...@roadrunner.com wrote:

 Right. So basically the Windows Installer/Restart Manager combo don't work
 very well for shell extensions that can be loaded in various processes.

 Probably the best thing I can do is try to detect the user's response to
 the Restart Manager prompt run a ScheduleReboot action if the user has
 selected to not close the offending processes. Also if running in basic UI
 mode and the shell feature is installed.
 Looking at the sources, I think I can do something like:
 InstallExecuteSequence
  ScheduleReboot After='InstallFinalize'WixUIRMOption=DontUseRM OR
 (UILevel=2 AND !MyFeature=3)/ScheduleReboot
 /InstallExecuteSequence




  Blair os...@live.com wrote:
  Believe it or not, there is a saying oft repeated in the hallways at
 Microsoft: Reboots are evil. The current design in Windows Installer is to
 request a reboot only when under no reasonable scenario can the reboot be
 avoided (such as an upgrade of a running program when the program won't
 die during the upgrade).
 
  If a running program is holding a file in use, Windows Installer will
 move/rename that file and mark it for removal upon the next reboot (the move
 is into a hidden directory). If the move happens as a result of a removal
 attempt, the file is considered to be safe for the program to continue to
 use until it is shutdown by the user at their convenience (it is up to each
 program to fail gracefully if some other file they didn't hold open is
 suddenly missing or who's version/content suddenly changes). If, on the
 other hand, the developer of the program knows that the program can't safely
 continue to use the file(s), it is up to the developer to stop the running
 instances of the program(s) or force a reboot, since Windows Installer
 cannot possibly know who is good at defensive programming and who is not
 (even when the program comes from the Windows team).
 
  -Original Message-
  From: i...@roadrunner.com [mailto:i...@roadrunner.com]
  Sent: Wednesday, July 14, 2010 12:16 PM
  To: General discussion for Windows Installer XML toolset.
  Cc: Blair
  Subject: Re: [WiX-users] Restart Manager (reboot after uninstall)
 
  OK, so basically you are saying that the restart prompt is only supposed
 to appear during an upgrade when a file is being replaced.
  In my case I'm always using a major upgrade, so the old version is
 uninstalled first, then the new one is installed. No file is directly
 overwritten.
 
  It is a bit weird that the system doesn't handle uninstalls or major
 upgrades, but I can live with that. I don't have a problem if I'm getting
 the intended behavior. My only concern is that I'm somehow breaking a
 feature I'm supposed to get out of the box.
 
 
   Blair os...@live.com wrote:
   In scenario #1, Windows Installer will not by default [prompt for]
 reboot.
   In scenario #2, there are two possibilities:
   2.1 - RemoveExistingProducts is scheduled early and this is a major
 upgrade:
   Removal of the old file occurs before writing of the new file: no
 [prompt
   for] reboot (same as scenario #1).
   2.2 - all other cases (RemoveExistingProducts scheduled late or
 non-major
   upgrade): File is overwritten (assuming that the component rules were
   followed) and a prompt for reboot occurs.
  
   For any other possibility you have to detect the situation yourself and
 ask
   for the reboot prompt. The simplest way is to always ask for reboot
 except
   for clean initial installation, or ask for reboot always (I assume that
 the
   shell has to be restarted no matter what to start using a new shell
   extension). The next simplest is to change your MsiRMFilesInUse dialog
 such
   that the ignore button is either disabled, hidden or removed (thus the
 user
   has no choice but to use the restart manager), although that won't help
 with
   basic or silent installations. The third option is to add an embedded
 UI
   (assuming your minimum MSI version is 4.5) or ensure that your
 transactions
   are always under the control of a bootstrapper (hard to do, under the
 best
   circumstances) and capture the MsiRMFilesInUse call to always return a
 code
   for using the restart manager without ever showing the option to the
 user.
   Next harder is to duplicate the files-in-use logic yourself and set a
   property.
  
   There may be some property that gets set when a file-in-use is
 detected, but
   I have never seen it.
  
   -Original Message-
   From: Ivo Beltchev [mailto:i...@roadrunner.com]
   Sent: Wednesday, July 14, 2010 9:27 AM
   To: General discussion for Windows Installer XML toolset.
   Subject: Re: [WiX-users] Restart Manager (reboot after uninstall)
  
   This is a shell extension and the DLL is used by the Explorer process.
   There are two scenarios:
   1) Uninstall - no file 

Re: [WiX-users] Using Integrated security for connectionstring in CustomAction

2010-07-15 Thread Rob Mensching
Forget installation for a moment. How would you do this in any program?

On Wed, Jul 14, 2010 at 2:24 PM, Stelios Kyprou 
stelios.kyp...@formicary.net wrote:

 That would not help in my case though, since i am aiming to validate any
 user defined values entered in the UI sequence.
 So in the case where the user chooses to run the service to be
 installed as LocalSystem, and the connectionstring uses integrated
 security, i want to make sure that the connectionstring is correct, by
 connecting and disconnecting to the database.
 If the action does not succeed, i would like to prevent the user from
 going to the next dialog, until i'm sure that all values are correct.

 Now in the case where integrated security is true but the service
 account is a user account, i could go around it by impersonating that
 user and the doing the DB connect attempt.

 Not sure if it would be good practice to try and impersonate the local
 system account though.

 So there is no way around this?
 That would mean that i would provide an incomplete Installer since i
 can validate ALL user defined values except the case where:
 connectionstring uses Instegrated Security and the account that will be
 used based on that configuration is LocalSystem.

 So that is one senario where the installation completes, i run the
 installed service, but it doesn't work as excpected because the service
 can't access the DB(either because LocalSystem has no access to it, or
 the connectionstring is wrong, and i couldn't detect that error during
 installation, which i want to)...

 Any opinions?

 Blair wrote:
  The custom actions used in the WixSQLExtension do not have the
  no-impersonate bit set, so they never run as LocalSystem (except in the
  rare instance that the installation were being performed by a service
  running as LocalSystem). Thus, if you are using the WiX-supplied SQL
 support
  you must launch the installation itself from an account with the desired
  access.
 
  The only ways to run a custom action as LocalSystem are to run it
 deferred
  with the Impersonate attribute set to no in the CustomAction element in
  your authoring where the Execute attribute is set to some in-script type
  (deferred, rollback, or commit), which cannot be run from the UI
 since
  they must be between InstallInitialize and InstallFinalize in the
  InstallExecuteSequence table.
 
  -Original Message-
  From: Stelios Kyprou [mailto:stelios.kyp...@formicary.net]
  Sent: Wednesday, July 14, 2010 12:57 PM
  To: General discussion for Windows Installer XML toolset.
  Subject: [WiX-users] Using Integrated security for connectionstring in
  CustomAction
 
  Hello all!
 
  Let's say that i am using a C# custom action, to validate the database
  connectionstring that a user has entered in a dialog.
  If the user has selected to use Integrated Security, and the account of
  the Windows Service that will be running the application is Local
  System,
  that would mean that when the service is running, when connecting to the
  database it would use the Local System to try and access it(which is
  what i want).
 
  In my c# custom action, when i try and connect to the db using Integrated
  Security, would it use the local system account to connect(which i
 think
  is the account the installer is running as)? or will it use the account
 of
  the user that is logged in the machine(which will fail to connect)?
 
  In the latter case, any ideas on how to make it run as local system?
 
  Thanks in advance,
  Stelios
 
 

 --
 Stelios Kyprou
 Systems Engineer
 Formicary - delivering quality financial technology solutions(TM)
 www.formicary.net



 
 This message is confidential and may be privileged. It is intended solely
 for
 the named addressee. If you are not the intended recipient, please inform
 us.
 Any unauthorised dissemination, distribution or copying hereof is
 prohibited.

 Formicary Limited registered office in England and Wales, address 1 Taillar
 Road, Hedon, East Yorkshire HU12 8GU, registration number 3894343, VAT
 number
 747644304, does not guarantee that the integrity of this communication has
 been
 maintained nor that this communication is free of viruses, interceptions or
 interference.

 


 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
This SF.net email is sponsored by Sprint
What will you do first 

Re: [WiX-users] About running Any CPU custom EXE from 32bit MSI on 64bit machine

2010-07-15 Thread Michael Urman
The issue is a combination of these things:
 * Win64=yes|no does not apply across executable launch; it's only
relevant for in-process actions (dll, script)
 * Your executable tries to guess where things are instead of being
passed a value on the command-line
 * Your executable takes on the bit-ness of the platform on which it
is installed

So I'd actually recommend fixing both of the second points. If you're
trying to distribute it as if it's 32-bit, make it 32-bit by changing
the project options. Then also, instead of guessing the installation
path, make it a command-line argument that is passed in by the custom
action. Fixing either will likely resolve your behavior, but fixing
both feels cleaner to me.

-- 
Michael Urman

On Thu, Jul 15, 2010 at 04:45, Chirag Goradia chiraggora...@gmail.com wrote:
 Hi everyone,

 We are running custom EXEs ( .NET 2.0 console application ) built with Any
 CPU platform from a 32bit MSI on 64bit machine.
 In the custom EXE, we use *
 Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)* to execute
 some custom logic on our files installed in the ProgramFiles folder path.

 The issue is on 64bit machine:
 32bit MSI installs files to C:\Program Files (x86)\
 custom EXE runs logic in C:\Program Files\  ... we think this is because it
 was built for Any CPU platform

 In the CustomAction  node, we tried to set Win64=no so that it runs the
 custom EXE as if it were on 32bit machine. However, still the custom EXE
 runs logic in C:\Program Files\  instead of C:\Program Files (x86)\


 Do you have any suggestions ?

 Thanks
 Chirag
 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Various WiX questions

2010-07-15 Thread Rob Mensching
I think you want a .bat file not a .msi file. The things you are trying to
do go against the general purpose of the Windows Installer: to provide a
robust mechanism to install, uninstall, upgrade and patch software on the
machine.

It sounds like you want: something that elevates my executable that modifies
machine state. smile/

On Tue, Jul 13, 2010 at 9:02 AM, wirtzenator wirtzena...@gmail.com wrote:


 Hi, I have just started using WiX and I have a couple questions concerning
 some of the things I want to do. If you can help on any of them, that would
 be greatly appreciated.

 1. Is it possible to have the program run through the installer, then have
 it not be an installed program, so it doesn't show up in add/remove
 programs, and that I can just run the msi again and again?

 2. Can I automatically run the uninstall after the install have finished?
 Similar to get the effect of #1.

 3. I include EXE(s) in my msi file, can I run them from the msi and not
 actually copy them to the local computer?

 4. I run these EXEs quietly, but everytime another one runs, whatever
 program the user is on will lose focus, can I change that?

 I don't ask for someone to answer all these questions, if you can that's
 great, but I need some direction on them. Also, my company has requested
 that I use .msi for this, and I have to run these exes through the msi,
 even
 though I'm not really installing anything, and don't really want to. I know
 it's weird, but it's what I have to do, and don't really have a choice.

 Code so far for reference:
 File 1:

 ?xml version='1.0'?
 Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
Product Id='GUID' Name='Updates' Language='1033' Version='1.0.0.0'
 Manufacturer='MYCOMPANY' UpgradeCode='GUID' 
Package Description='Windows Installer package' Comments='Windows
 Installer to apply patches.' Manufacturer='MYCOMPANY'
 InstallerVersion='200'
 Compressed='yes' /
Media Id='1' Cabinet='product.cab' EmbedCab='yes' /
Directory Id='TARGETDIR' Name='SourceDir'
Directory Id='ProgramFilesFolder' Name='PFiles'
Directory Id='MyDir' Name='Updates'
Component Id='MyComponent' Guid='GUID' 
File Id='patch0' Name =
 '67C5CEF0522B242E7FE17BE9734860117FAB1F5D.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\67C5CEF0522B242E7FE17BE9734860117FAB1F5D.exe' /
File Id='patch1' Name =
 '9D1F72ABA7BFD6670433E4B997A88860F217E520.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\9D1F72ABA7BFD6670433E4B997A88860F217E520.exe' /
File Id='patch2' Name =
 '49AE6AC4F6E0A609124F2CE6F80FCEF249273C02.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\49AE6AC4F6E0A609124F2CE6F80FCEF249273C02.exe' /
File Id='patch3' Name =
 'B6A3D8953714847D02D614E8FCB5B4171D1029FB.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\B6A3D8953714847D02D614E8FCB5B4171D1029FB.exe' /
File Id='patch4' Name =
 '8F9E90BF9B6AD58FD264CC1CF0F187F9A83223A5.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\8F9E90BF9B6AD58FD264CC1CF0F187F9A83223A5.exe' /
File Id='patch5' Name =
 'D137985D21958A9F3F277189287B9A71EEE02421.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\D137985D21958A9F3F277189287B9A71EEE02421.exe' /
File Id='patch6' Name =
 'D1BA1076CB5D94B06333011C6EB29DEDB5C2C48D.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\D1BA1076CB5D94B06333011C6EB29DEDB5C2C48D.exe' /
File Id='patch7' Name =
 'E5FEC41B4A9647BC5050DBBD1A08B469D72C69F4.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\E5FEC41B4A9647BC5050DBBD1A08B469D72C69F4.exe' /
File Id='patch8' Name =
 '9FC0909C468C17870AB868D0D7F4EB815B309045.exe' DiskId='1' Source = 'C:\Save
 Directory\patches\9FC0909C468C17870AB868D0D7F4EB815B309045.exe' /
/Component
/Directory
/Directory
/Directory
Feature Id='MyFeature' Title='Features' Level='1'
ComponentRef Id='MyComponent' /
/Feature
InstallExecuteSequence
Custom Action='LaunchExe0' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe1' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe2' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe3' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe4' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe5' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe6' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe7' After='InstallFiles'NOT
 Installed/Custom
Custom Action='LaunchExe8' After='InstallFiles'NOT
 Installed/Custom
/InstallExecuteSequence
/Product
 /Wix

 File 2:
 ?xml 

Re: [WiX-users] Is it possible to modify an XML file element with Wix 2.0?

2010-07-15 Thread Rob Mensching
1. I don't think that is supported by the WiX custom actions today.

2. Avoid that installation pattern. It is very difficult to
upgrade/patch/uninstall well.

On Wed, Jul 14, 2010 at 12:57 PM, d8x...@hotmail.com wrote:


 I have used the XMLConfig and XMLFile in Wix 2.0 and they work fine for
 adding new items. However, I am unable to use these to append to existing
 values. Is there a way to append an XML file using Wix 2.0?



 I am attempting to take the following XML:

 ?xml version=1.0 encoding=utf-8?
 XmlFile
  One
  TWO
   my IDs=One,TWO,/
  /TWO
  /One
 /XmlFile





 And modify the IDs value to include a new items:

 ?xml version=1.0 encoding=utf-8?
 XmlFile
  One
  TWO
   my IDs=One,TWO,THREE,FOUR/
  /TWO
  /One
 /XmlFile



 I can write my own custom action to perform this, but thought I would first
 check to see if Wix v2.0 handles this for me.



 Thank you.

 _
 The New Busy is not the too busy. Combine all your e-mail accounts with
 Hotmail.

 http://www.windowslive.com/campaign/thenewbusy?tile=multiaccountocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4

 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Integrated security for connectionstring in CustomAction

2010-07-15 Thread Stelios Kyprou
Yes i eventually realised that in order to do this kind of action, you 
must impersonate LocalSystem in you c# custom action.
But in order to do that, you must have a priviledge called:
Act as part of the operating system OR SE_TCB_NAME.
LocalSystem has this priviledge, but no users, and it's a security risk 
to give it to a user account, since with this priviledge you can do almost
everything on the local machine. Plus barely anyone that will be using 
the installers will have this priviledge, thus again not being able to 
impersonate LocalSystem.
So it's better to not breach any security walls, and insdead notify 
the user that in the senario i described in the previous post of this 
thread, the installer will not be able to verify the connectionstring.


Rob Mensching wrote:
 Forget installation for a moment. How would you do this in any program?

 On Wed, Jul 14, 2010 at 2:24 PM, Stelios Kyprou 
 stelios.kyp...@formicary.net wrote:

   
 That would not help in my case though, since i am aiming to validate any
 user defined values entered in the UI sequence.
 So in the case where the user chooses to run the service to be
 installed as LocalSystem, and the connectionstring uses integrated
 security, i want to make sure that the connectionstring is correct, by
 connecting and disconnecting to the database.
 If the action does not succeed, i would like to prevent the user from
 going to the next dialog, until i'm sure that all values are correct.

 Now in the case where integrated security is true but the service
 account is a user account, i could go around it by impersonating that
 user and the doing the DB connect attempt.

 Not sure if it would be good practice to try and impersonate the local
 system account though.

 So there is no way around this?
 That would mean that i would provide an incomplete Installer since i
 can validate ALL user defined values except the case where:
 connectionstring uses Instegrated Security and the account that will be
 used based on that configuration is LocalSystem.

 So that is one senario where the installation completes, i run the
 installed service, but it doesn't work as excpected because the service
 can't access the DB(either because LocalSystem has no access to it, or
 the connectionstring is wrong, and i couldn't detect that error during
 installation, which i want to)...

 Any opinions?

 Blair wrote:
 
 The custom actions used in the WixSQLExtension do not have the
 no-impersonate bit set, so they never run as LocalSystem (except in the
 rare instance that the installation were being performed by a service
 running as LocalSystem). Thus, if you are using the WiX-supplied SQL
   
 support
 
 you must launch the installation itself from an account with the desired
 access.

 The only ways to run a custom action as LocalSystem are to run it
   
 deferred
 
 with the Impersonate attribute set to no in the CustomAction element in
 your authoring where the Execute attribute is set to some in-script type
 (deferred, rollback, or commit), which cannot be run from the UI
   
 since
 
 they must be between InstallInitialize and InstallFinalize in the
 InstallExecuteSequence table.

 -Original Message-
 From: Stelios Kyprou [mailto:stelios.kyp...@formicary.net]
 Sent: Wednesday, July 14, 2010 12:57 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] Using Integrated security for connectionstring in
 CustomAction

 Hello all!

 Let's say that i am using a C# custom action, to validate the database
 connectionstring that a user has entered in a dialog.
 If the user has selected to use Integrated Security, and the account of
 the Windows Service that will be running the application is Local
 System,
 that would mean that when the service is running, when connecting to the
 database it would use the Local System to try and access it(which is
 what i want).

 In my c# custom action, when i try and connect to the db using Integrated
 Security, would it use the local system account to connect(which i
   
 think
 
 is the account the installer is running as)? or will it use the account
   
 of
 
 the user that is logged in the machine(which will fail to connect)?

 In the latter case, any ideas on how to make it run as local system?

 Thanks in advance,
 Stelios


   
 --
 Stelios Kyprou
 Systems Engineer
 Formicary - delivering quality financial technology solutions(TM)
 www.formicary.net



 
 This message is confidential and may be privileged. It is intended solely
 for
 the named addressee. If you are not the intended recipient, please inform
 us.
 Any unauthorised dissemination, distribution or copying hereof is
 prohibited.

 Formicary Limited registered office in England and Wales, address 1 Taillar
 Road, Hedon, East Yorkshire HU12 8GU, registration number 3894343, VAT
 number
 747644304, does not guarantee 

[WiX-users] Best practice to include customer/user specific files (also when using a bootstrapper)

2010-07-15 Thread daniel.knoepfel
Hi

Some parts of our application are very customer/user specific. For example, 
there will be a varying number of files in the appData-folder depending on the 
installation. The approach i have used so far is having a custom action copying 
these files. .
An example installation package could look like this. It is important the the 
msi and the other files reside in the same folder!

Application.msi
FOLDER_WITH_USER_SPECIFIC_FILES   (These files change per customer, 
impossible to compile them into the msi)

Via the SourceDir Property I then manage to copy the files into the desired 
folder. This works well so far, although I am not entirely happy about it as 
the declarative approach of windows installer is undermined. However, with my 
limited wix knowledge, this is the only solution a can see.

Unfortunately, our application has some prerequisites (.NET framework, crystal 
reports...) and therefore needs to have a bootstraper containing all 
prerequisites and the msi file, that takes care of installing them. The 
bootstrapper i have tried (dotNetInstaller), copies the msi to a temp folder 
and as a consequence, the msi and the installation-specific files no longer 
reside in the same folder. The SourceDir points then to the wrong directory and 
the the user specific files cannot be copied.


My questions are now:

- Are there any better, well-proven approaches, that stick to the msi 
declarative approach
- Is there a solution to the bootstrapper problem? Are there (free) 
bootstrappers, that embedd all files and trigger the msi installation with the 
SourceDir property pointing to the directory of the bootstrapper? It would then 
look like this:

Bootstrapper.exe
FOLDER_WITH_USER_SPECIFIC_FILES   (These files change per customer, 
impossible to compile them into the msi, or Bootstrapper)

Any help is appreciated. Thanks in advance.

Dan

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Conditionally Show Dialog Button based onInstalleraction (installed vs. removed vs. repaired, etc)

2010-07-15 Thread Jeremy Rimer
Sorry if I wasn't clear...

There are database connection strings stored in the app.config file of the
deployed application...
The WIX installer's purpose is to provide a sysops team the ability to
easily deploy our application across multiple system installations, all
needing different connectivity strings for the DB...

So far, the installer I wrote does the following:

Fresh Install:

   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings with
   empty input fields (no defaultsI originally wanted the defaults that
   came in the App.Config that was deployed, but later we decided it was
   unnecessary to prompt ANY default on fresh install.).
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit leaving the
   program installed with defaults.)

Repair

   - Deploys the software to the InstallDir, loading the existing DB strings
   from the deployed App.Config file for later prompting
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit leaving the
   program installed with defaults.)

Upgrade

   - Detects existing version, and silently removes it.
   - loads the existing DB strings from the deployed App.Config file for
   later prompting
   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit leaving the
   program installed with defaults.)

REMOVE

   - UNINSTALLS and removes the deployed software
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings (I'm
   trying to quash this part)...

...I need to figure out how to suppress the  MODIFY CONFIG button from the
MyExitDialog given a REMOVE path... I think the point in the installation at
which this button is shown that REMOVE=ALL and things aruond installation
are no longer checkable... I think I may need to save another Session
Property to set at a certain time in the installation to 1 or 0 depending on
REMOVE=ALL then or something... Sound right?




On Thu, Jul 15, 2010 at 4:25 AM, Pally Sandher pally.sand...@iesve.comwrote:

 So you're telling us you have trouble knowing the contents of a file
 you're installing on the target machine until after it's been installed?


 Palbinder Sandher
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500
 F: +44 (0) 141 945 8501

 http://www.iesve.com
 **Design, Simulate + Innovate with the Virtual Environment**
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456
 Registered Office - Helix Building, West Of Scotland Science Park,
 Glasgow G20 0SP
 Email Disclaimer

 -Original Message-
 From: Jeremy Rimer [mailto:jeremyri...@gmail.com]
 Sent: 14 July 2010 17:40
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Conditionally Show Dialog Button based
 onInstalleraction (installed vs. removed vs. repaired, etc)

 funny you mention that... The original requirements of this installer
 were to prompt the user the defaults provided in the App.Config file of
 the deployed program, which meant that we COULDNT prompt the user for
 settings before the files were copied. It turned out that particular
 action was impossible ANYWAY, because you can't modify the session for
 use in dialogs AFTER the files are copied, only prior in the UI
 sequence... So perhaps if I re-engineered this whole thing to prompt
 FIRST, I can avoid these problems?

 The way it is currently written, you can either overwrite, or set the
 settings OPTIONALLY before exiting the installer. (i.e. leave the
 app.config unmolested from the installation, or prior installation, OR,
 branch off and edit the entries, and submit to update the deployed
 app.config file...


 On Wed, 

Re: [WiX-users] Conditionally Show Dialog Button based on Installer action (installed vs. removed vs. repaired, etc)

2010-07-15 Thread Jeremy Rimer
I'm still struggling to hide a dialog button in an uninstallation case :\.

Since REMOVE=ALL didn't seem to ever be true despite the path through
the installer (fresh install/repair/remove), I tried to base the
Action=hide Condition off a Secure Property that can be modified earlier
in the code...

The result seems to be the same, REMOVE~=ALL never is true, despite a
REMOVE path through the installer...

Given my setup below, how can I get the secure property
SHOWMODIFYCONFIGBUTTON to = 0 in the case of REMOVE paths through my
installer?

Here's my Property:
===
Property Id=SHOWMODIFYCONFIGBUTTON Secure=yes 1/Property
===

Here's the CustomAction that will modify the value of that property:
===
CustomAction Id=SetShowModifyConfigButton
Property=SHOWMODIFYCONFIGBUTTON Value=0 Execute=immediate
Return=check /
===

Here's the InstallUI and InstallExecute Sequences:
===
InstallUISequence
!-- This runs the App.Config Reader to load the session vars for
settings in the prompts --
Custom Action=LoadDefaultOptions After=CostFinalize /

!-- This *should* set SHOWMODIFYCONFIGBUTTON to 0 during UNINSTALLATION
paths through the installer, but doesn't --
Custom Action=SetShowModifyConfigButton
After=MaintenanceWelcomeDlgREMOVE~=ALL/Custom

/InstallUISequence

InstallExecuteSequence
RemoveExistingProducts After=InstallFinalize/
!-- This will fail the installer if a newer installed version is
detected --
Custom Action=NewerVersionDetected
After=FindRelatedProductsNEWERFOUND/Custom
ScheduleReboot Suppress=yes/ScheduleReboot
/InstallExecuteSequence
===

Here's the dialog button I wish to hide during uninstalls:
===
Control Id=ApplicationSettings Type=PushButton X=94 Y=243
Width=130 Height=17 Default=no Cancel=no Text=Modify Application
Settings 
Condition Action=hideSHOWMODIFYCONFIGBUTTON=0/Condition !-- Only
show this button when !Uninstalling --
/Control
===




On Wed, Jul 14, 2010 at 10:17 AM, Jeremy Rimer jeremyri...@gmail.comwrote:

 I have one last problem before my installer is completely working:

 I have a custom EXIT dialog that I created called MyExitDialog that
 contains an extra button that spawns a custom dialog to gather application
 settings from the user to write into the App.Config file that was deployed
 and/or existed during installation or repair.

 The dialog does its job, but unfortunately it also displays (and does its
 job) after an application has been removed with the installer, which is
 useless, of course since there's no more app.config file to care about on a
 removal of the application.

 I see in the Publish elements how to conditionally control what a button *
 does*, but how do you conditionally control when a button *shows itself*in 
 its dialog?

 If this is impossible, how can I force the installer to display the
 standard WIX ExitDialog instead of MyExitDialog in the case of a REMOVE
 operation (vs. repair or new installation?).

 my MyExitDialog definition is as follows, and the Control with
 Id=ApplicationSettings is my button I'd like to hide on product removals:
 
 Dialog Id=MyExitDialog Width=370 Height=270
 Title=!(loc.ExitDialog_Title)
 Control Id=Finish Type=PushButton X=224 Y=243 Width=56
 Height=17 Default=yes Cancel=yes Text=!(loc.WixUIFinish) /
 !-- The following Control allows us to go beyond finish to do some
 settings modifications --
 Control Id=ApplicationSettings Type=PushButton X=94 Y=243
 Width=130 Height=17 Default=no Cancel=no Text=Modify Application
 Settings /Control
 Control Id=Cancel Type=PushButton X=304 Y=243 Width=56
 Height=17 Disabled=yes Text=!(loc.WixUICancel) /
 Control Id=Bitmap Type=Bitmap X=0 Y=0 Width=370
 Height=234 TabSkip=no Text=!(loc.ExitDialogBitmap) /
 !-- Control Id=Back Type=PushButton X=224 Y=243
 Width=56 Height=17 Disabled=yes Text=!(loc.WixUIBack) / --
 Control Id=BottomLine Type=Line X=0 Y=234 Width=370
 Height=0 /
 Control Id=Description Type=Text X=135 Y=70 Width=220
 Height=40 Transparent=yes NoPrefix=yes Text= Click the Finish button
 to exit the Setup Wizard. Alternatively, Click the Modify Application
 Settings button to alter the behavior of the application. /
 Control Id=Title Type=Text X=135 Y=20 Width=220
 Height=60 Transparent=yes NoPrefix=yes Text=!(loc.ExitDialogTitle)
 /
 Control Id=OptionalText Type=Text X=135 Y=110 Width=220
 Height=80 Transparent=yes NoPrefix=yes Hidden=yes
 Text=[WIXUI_EXITDIALOGOPTIONALTEXT]
   Condition Action=showWIXUI_EXITDIALOGOPTIONALTEXT AND NOT
 Installed/Condition
 /Control
 Control Id=OptionalCheckBox Type=CheckBox X=135 Y=190
 Width=220 Height=40 Hidden=yes
 Property=WIXUI_EXITDIALOGOPTIONALCHECKBOX CheckBoxValue=1
 Text=[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]
   Condition 

[WiX-users] Difficulties registering a Preview Pane handler

2010-07-15 Thread Daniel Moody
Hello,

I'm trying to register a Preview Pane handler for our product's files using
Wix.  Unfortunately, Heat is unable to harvest anything from the preview
handler .dll file.  Iit gives a HEAT5151 error and reports Exception has
been thrown by the target of an invocation.  I've tried using the
before-and-after registry snapshot approach, which has given me a large
number of registry keys and values, which oddly work fine on most computers
but not at all on a few.

My installer is GACing the .dll just fine, and if I run regasm from a
command line after my installer is finished, everything works as expected.

As I've just had the installer project transferred to me recently, I often
reference our old InstallShield installer to see what my predecessor did,
but in this case he used a binary custom action to manually run regasm,
something that I intend to avoid at all costs.

Thanks,

Daniel Moody | QA Engineer | Gibbs and Associates



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Conditionally Show Dialog Button basedonInstalleraction (installed vs. removed vs. repaired, etc)

2010-07-15 Thread Pally Sandher
Given all that I still don't see why you're trying to do user config on
the ExitDialog instead of during the InstallUISequence. The only thing
you'd need to implement in anything resembling custom code to accomplish
those 4 scenarios would be reading the entries from the app.config to
populate the fields in the repair  upgrade scenarios as reading XML
doesn't have a Standard Custom Action AFAIK in WiX (yet). You seem
pretty set on doing it your way however so good luck.

Palbinder Sandher 
Software Deployment  IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the Virtual Environment**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-Original Message-
From: Jeremy Rimer [mailto:jeremyri...@gmail.com] 
Sent: 15 July 2010 15:17
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Conditionally Show Dialog Button
basedonInstalleraction (installed vs. removed vs. repaired, etc)

Sorry if I wasn't clear...

There are database connection strings stored in the app.config file of
the deployed application...
The WIX installer's purpose is to provide a sysops team the ability to
easily deploy our application across multiple system installations, all
needing different connectivity strings for the DB...

So far, the installer I wrote does the following:

Fresh Install:

   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
with
   empty input fields (no defaultsI originally wanted the defaults
that
   came in the App.Config that was deployed, but later we decided it was
   unnecessary to prompt ANY default on fresh install.).
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
leaving the
   program installed with defaults.)

Repair

   - Deploys the software to the InstallDir, loading the existing DB
strings
   from the deployed App.Config file for later prompting
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
leaving the
   program installed with defaults.)

Upgrade

   - Detects existing version, and silently removes it.
   - loads the existing DB strings from the deployed App.Config file for
   later prompting
   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
leaving the
   program installed with defaults.)

REMOVE

   - UNINSTALLS and removes the deployed software
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
(I'm
   trying to quash this part)...

...I need to figure out how to suppress the  MODIFY CONFIG button from
the MyExitDialog given a REMOVE path... I think the point in the
installation at which this button is shown that REMOVE=ALL and things
aruond installation are no longer checkable... I think I may need to
save another Session Property to set at a certain time in the
installation to 1 or 0 depending on REMOVE=ALL then or something...
Sound right?




On Thu, Jul 15, 2010 at 4:25 AM, Pally Sandher
pally.sand...@iesve.comwrote:

 So you're telling us you have trouble knowing the contents of a file 
 you're installing on the target machine until after it's been
installed?


 Palbinder Sandher
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500
 F: +44 (0) 141 945 8501

 http://www.iesve.com
 **Design, Simulate + Innovate with the Virtual Environment** 
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456
 Registered Office - Helix Building, West Of Scotland Science Park, 
 Glasgow G20 0SP Email 

Re: [WiX-users] Calling an exe file upon installation (works but either cmd remains open, or installation does not finish)

2010-07-15 Thread Alec Taylor
If you don't know how to write a Launcher .exe, I can make one for you

Just ask

On Wed, Jul 14, 2010 at 4:49 PM,  daniel.knoep...@noser.com wrote:
 Hi

 Thanks for your answer. Having a launcher exe seems to be the save way to go.
 In the meantime, i noticed that on some machine it works as supposed, using 
 the following custom action definiton:

  CustomAction Id=LaunchPrintProcessAction Directory=PrintProcessDir 
 Return=asyncNoWait ExeCommand=[PrintProcessDir]PrintProcess.exe 
 -autostart /


 However, i think we still have to use  the launcher as we have to ensure it 
 has to work on all machines.
 Regards

 
 Von: Dan Vasilov [...@rms.ro]
 Gesendet: Mittwoch, 14. Juli 2010 07:51
 An: wix-users@lists.sourceforge.net
 Betreff: Re: [WiX-users] Calling an exe file upon installation (works but     
   either cmd remains open, or installation does not finish)

 I would use a launcher .exe that can properly be launched from the setup.
 Then this launcher would start your application.

 Probably your executable has some particularity, the setups we've developed
 with Wix properly launch the main executable.



 Dan

 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Porting installer to WiX

2010-07-15 Thread Thode, Katelyn
I am working on porting an InstallShield installer over to wix.  I don't have 
the source code for the installer and the installer itself is an executable 
file.  Is there a way to get the GUIDs for the product Id and upgrade code from 
the executable file?

Thanks,
Katelyn

Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Porting installer to WiX

2010-07-15 Thread Alec Taylor
Yes, a million info programs around

Try SuperORCA

On Fri, Jul 16, 2010 at 2:39 AM, Thode, Katelyn
katelyn.th...@guidancesoftware.com wrote:
 I am working on porting an InstallShield installer over to wix.  I don't have 
 the source code for the installer and the installer itself is an executable 
 file.  Is there a way to get the GUIDs for the product Id and upgrade code 
 from the executable file?

 Thanks,
 Katelyn

 Note: The information contained in this message may be privileged and
 confidential and thus protected from disclosure. If the reader of this
 message is not the intended recipient, or an employee or agent responsible
 for delivering this message to the intended recipient, you are hereby
 notified that any dissemination, distribution or copying of this
 communication is strictly prohibited.  If you have received this
 communication in error, please notify us immediately by replying to the
 message and deleting it from your computer.  Thank you.

 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Conditionally Show Dialog Button basedonInstalleraction (installed vs. removed vs. repaired, etc)

2010-07-15 Thread Jeremy Rimer
I only did it in this manner because original requirements dictated the
application be copied to the installdir before reading back defaults for
entry... turns out the defaults are actually blank strings in the
application, so nothing ever really needed to be read on fresh install...
they do on upgrades/repairs though. I got everything working this way, so
figured why change it...

On Thu, Jul 15, 2010 at 11:28 AM, Pally Sandher pally.sand...@iesve.comwrote:

 Given all that I still don't see why you're trying to do user config on
 the ExitDialog instead of during the InstallUISequence. The only thing
 you'd need to implement in anything resembling custom code to accomplish
 those 4 scenarios would be reading the entries from the app.config to
 populate the fields in the repair  upgrade scenarios as reading XML
 doesn't have a Standard Custom Action AFAIK in WiX (yet). You seem
 pretty set on doing it your way however so good luck.

 Palbinder Sandher
 Software Deployment  IT Administrator
 T: +44 (0) 141 945 8500
 F: +44 (0) 141 945 8501

 http://www.iesve.com
 **Design, Simulate + Innovate with the Virtual Environment**
 Integrated Environmental Solutions Limited. Registered in Scotland No.
 SC151456
 Registered Office - Helix Building, West Of Scotland Science Park,
 Glasgow G20 0SP
 Email Disclaimer

 -Original Message-
 From: Jeremy Rimer [mailto:jeremyri...@gmail.com]
 Sent: 15 July 2010 15:17
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Conditionally Show Dialog Button
 basedonInstalleraction (installed vs. removed vs. repaired, etc)

 Sorry if I wasn't clear...

 There are database connection strings stored in the app.config file of
 the deployed application...
 The WIX installer's purpose is to provide a sysops team the ability to
 easily deploy our application across multiple system installations, all
 needing different connectivity strings for the DB...

 So far, the installer I wrote does the following:

 Fresh Install:

   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
 exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
 with
   empty input fields (no defaultsI originally wanted the defaults
 that
   came in the App.Config that was deployed, but later we decided it was
   unnecessary to prompt ANY default on fresh install.).
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
 leaving the
   program installed with defaults.)

 Repair

   - Deploys the software to the InstallDir, loading the existing DB
 strings
   from the deployed App.Config file for later prompting
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
 exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
 with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
 leaving the
   program installed with defaults.)

 Upgrade

   - Detects existing version, and silently removes it.
   - loads the existing DB strings from the deployed App.Config file for
   later prompting
   - Deploys the software to the InstallDir
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
 exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
 with
   the default values from the existing configuration
   - Saving and Exiting will run one more CA to overwrite the App.Config
   file with the provided DB strings. (or you can cancel and exit
 leaving the
   program installed with defaults.)

 REMOVE

   - UNINSTALLS and removes the deployed software
   - MyExitDialog at the Finish screen has these buttons showing MODIFY
   CONFIG FINISH CANCEL(disabled at this point). Clicking Finish
 exits the
   program leaving the deployed App.Config alone.
   - clicking MODIFY CONFIG Prompts the user for connectivity settings
 (I'm
   trying to quash this part)...

 ...I need to figure out how to suppress the  MODIFY CONFIG button from
 the MyExitDialog given a REMOVE path... I think the point in the
 installation at which this button is shown that REMOVE=ALL and things
 aruond installation are no longer checkable... I think I may need to
 save another Session Property to set at a certain time in the
 installation to 1 or 0 depending on REMOVE=ALL then or something...
 Sound right?




 On Thu, Jul 15, 2010 at 4:25 AM, Pally Sandher
 pally.sand...@iesve.comwrote:

  So 

Re: [WiX-users] Porting installer to WiX

2010-07-15 Thread Wilson, Phil
It can't be MSI-based with guids everywhere *and* be simply an executable, so 
I'd verify that it's not an older non-MSI setup of the type that InstallShield 
used to do. If it is MSI-based and an exe, then maybe the MSI file is embedded 
in the resources of the exe (something like Winzip might show you that), or if 
you run it then there'll be an MSI file pop out somewhere to be installed, then 
you can use Orca to look at it, and Dark to decompile it to WiX source. 

Phil Wilson 

-Original Message-
From: Thode, Katelyn [mailto:katelyn.th...@guidancesoftware.com] 
Sent: Thursday, July 15, 2010 9:40 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Porting installer to WiX

I am working on porting an InstallShield installer over to wix.  I don't have 
the source code for the installer and the installer itself is an executable 
file.  Is there a way to get the GUIDs for the product Id and upgrade code from 
the executable file?

Thanks,
Katelyn

Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at Portland House, Bressenden Place, London, 
SW1E 5BF (Registered number 166023). For a list of European legal entities 
within the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77. 
You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Porting installer to WiX

2010-07-15 Thread Thode, Katelyn
Thanks for the quick response.  It seems like SuperOrca is an MSI editor.  I 
have a .exe file that I need to get the upgrade GUID from.

-Original Message-
From: Alec Taylor [mailto:alec.tayl...@gmail.com] 
Sent: Thursday, July 15, 2010 11:51 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Porting installer to WiX

Yes, a million info programs around

Try SuperORCA

On Fri, Jul 16, 2010 at 2:39 AM, Thode, Katelyn
katelyn.th...@guidancesoftware.com wrote:
 I am working on porting an InstallShield installer over to wix.  I don't have 
 the source code for the installer and the installer itself is an executable 
 file.  Is there a way to get the GUIDs for the product Id and upgrade code 
 from the executable file?

 Thanks,
 Katelyn

 Note: The information contained in this message may be privileged and
 confidential and thus protected from disclosure. If the reader of this
 message is not the intended recipient, or an employee or agent responsible
 for delivering this message to the intended recipient, you are hereby
 notified that any dissemination, distribution or copying of this
 communication is strictly prohibited.  If you have received this
 communication in error, please notify us immediately by replying to the
 message and deleting it from your computer.  Thank you.

 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] C# Custom Action DLL fails

2010-07-15 Thread Keith Hassen
Hi,

I'm having a problem with WiX 3.5 launching a separate executable from a
custom action during the InstallFinalize action.  This seems to only
occur on systems where I don't have Visual Studio 2005 installed.  On my
development system, the installer runs just fine.  The Custom Action is
a C# WiX Custom Action DLL.  The code pulls in the
System.Diagnostics.Process class, and uses it to launch a couple of
processes.  If I comment out the Process class portion of the code,
everything runs just fine.  If I try to launch a Process instance, I get
this error:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI86.tmp-\
SFXCA: Binding to CLR version v2.0.50727
Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem
   at
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo
startInfo)
   at System.Diagnostics.Process.Start()
   at WiXCustomActions.CustomActions.ConfigureTerminals(Session session)

My first thought was that the CRT (C lang runtime) wasn't installed.  I
tried installing the Windows 2008 SP1 Redistributable, but that had no
impact.  I then decided to generate a simple test executable just to see
if there was something inherently problematic about the
System.Diagnostics namespace/classes.  But my test executable ran just
fine (and the test executable contains nearly identical Process class
code as the custom action DLL).

Anyway, I noticed that the SFXCA is loading CLR version 2.0.50727.  So I
modified CustomActions.config to use version 4.0 of the .NET framework,
and that also made no difference:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI12.tmp-\
SFXCA: Binding to CLR version v4.0.30319
Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem

Finally, I also tried installing the .NET 4.0 Framework, but that didn't
make a difference either.  I think this must be an issue of a missing
library, but I can't seem to figure out which it is.  I'm tempted to run
a trace to see what it's looking for, but that might take me hours/days.

Any ideas?

Keith


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Porting installer to WiX

2010-07-15 Thread Thode, Katelyn
The executable wraps an msi that was created with InstallShield 12.  Is there a 
way for me to extract the msi?

-Original Message-
From: Wilson, Phil [mailto:phil.wil...@invensys.com] 
Sent: Thursday, July 15, 2010 12:40 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Porting installer to WiX

It can't be MSI-based with guids everywhere *and* be simply an executable, so 
I'd verify that it's not an older non-MSI setup of the type that InstallShield 
used to do. If it is MSI-based and an exe, then maybe the MSI file is embedded 
in the resources of the exe (something like Winzip might show you that), or if 
you run it then there'll be an MSI file pop out somewhere to be installed, then 
you can use Orca to look at it, and Dark to decompile it to WiX source. 

Phil Wilson 

-Original Message-
From: Thode, Katelyn [mailto:katelyn.th...@guidancesoftware.com] 
Sent: Thursday, July 15, 2010 9:40 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Porting installer to WiX

I am working on porting an InstallShield installer over to wix.  I don't have 
the source code for the installer and the installer itself is an executable 
file.  Is there a way to get the GUIDs for the product Id and upgrade code from 
the executable file?

Thanks,
Katelyn

Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at Portland House, Bressenden Place, London, 
SW1E 5BF (Registered number 166023). For a list of European legal entities 
within the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77. 
You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Include an optional file in installer during compile/link

2010-07-15 Thread Beth Hechanova
I'm trying to optionally include a file in my installer at compile/link time. 
If the file is included, then the installer will copy it to the appropriate 
location (thus it is not optional for the user to install it).  If the file is 
NOT included in the installer, then it the installer skips it, and it is not an 
error.

Is there a way to conditionally include a file in the installer?  My automated 
build system will takes care of the logic of determining whether or not the 
file should be included.

As an example, I have a single feature called Configuration:
Feature Id=Complete Title=Install Level=1
ComponentRef Id=Configuration /
/Feature

In the component description, I have a config file that is required.  I've 
tried to add a second file (weather.lnk) that is optional:

  Directory Id=TARGETDIR Name=SourceDir
  Directory Id=ProgramFilesFolder
Directory Id=CompanyFolderName Name=MyCompany 
   Directory Id=INSTALLLOCATION Name=MyApp

Component Id=Configuration 
Guid=175F0351-F122-4c64-92B6-BED06F22E195
  File Id=MyApp.exe.config
Source=$(var.SourceRoot)\MyApp.exe.config 
  /File

  File Id=Weather.lnk
Source=$(var.SourceRoot)\Weather.lnk
  /File

/Component
  /Directory
/Directory
  /Directory
/Directory

If the Weather.lnk file does not exist in the given location, the linker gives 
a LGHT0083 error (file not found).  I'd like to annotate this file (if 
possible) as optional, or somehow put a conditional around it so if it is not 
found in the given location, it is not an error and is just skipped when the 
installer is compiled and linked.  And then assuming the successful build of 
the installer, when the installer is run, it will just skip this file.

Do I need to make a separate component or feature for this particular file?  
I've looked around at the descriptions of the File, Component, Feature items 
and didn't see anything that was obvious to me to make it optional.  I did find 
the Vital attribute for the File - I tried setting this to no, but still 
got the link error.

Is this possible?
I'm using Wix 3.0
Thanks,
Beth



---
This email and any files transmitted with it are confidential  proprietary to 
Systems and
Software Enterprises, Inc. (dba IMS). This information is intended solely for 
the use of
the individual or entity to which it is addressed. Access or transmittal of the 
information
contained in this e-mail, in full or in part, to any other organization or 
persons is not
authorized.
---

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Include an optional file in installer during compile/link

2010-07-15 Thread ivo
How about using the preprocessor for it?
Something like:
?if condition ?
File ...  /File
?endif ?

You can control the condition through command line parameters to candle.

Ivo

 Beth Hechanova bhechan...@imsco-us.com wrote: 
 I'm trying to optionally include a file in my installer at compile/link time. 
 If the file is included, then the installer will copy it to the appropriate 
 location (thus it is not optional for the user to install it).  If the file 
 is NOT included in the installer, then it the installer skips it, and it is 
 not an error.
 
 Is there a way to conditionally include a file in the installer?  My 
 automated build system will takes care of the logic of determining whether or 
 not the file should be included.
 
 As an example, I have a single feature called Configuration:
 Feature Id=Complete Title=Install Level=1
 ComponentRef Id=Configuration /
 /Feature
 
 In the component description, I have a config file that is required.  I've 
 tried to add a second file (weather.lnk) that is optional:
 
   Directory Id=TARGETDIR Name=SourceDir
   Directory Id=ProgramFilesFolder
 Directory Id=CompanyFolderName Name=MyCompany 
Directory Id=INSTALLLOCATION Name=MyApp
 
 Component Id=Configuration 
 Guid=175F0351-F122-4c64-92B6-BED06F22E195
   File Id=MyApp.exe.config
 Source=$(var.SourceRoot)\MyApp.exe.config 
   /File
 
   File Id=Weather.lnk
 Source=$(var.SourceRoot)\Weather.lnk
   /File
 
 /Component
   /Directory
 /Directory
   /Directory
 /Directory
 
 If the Weather.lnk file does not exist in the given location, the linker 
 gives a LGHT0083 error (file not found).  I'd like to annotate this file (if 
 possible) as optional, or somehow put a conditional around it so if it is not 
 found in the given location, it is not an error and is just skipped when the 
 installer is compiled and linked.  And then assuming the successful build of 
 the installer, when the installer is run, it will just skip this file.
 
 Do I need to make a separate component or feature for this particular file?  
 I've looked around at the descriptions of the File, Component, Feature items 
 and didn't see anything that was obvious to me to make it optional.  I did 
 find the Vital attribute for the File - I tried setting this to no, but 
 still got the link error.
 
 Is this possible?
 I'm using Wix 3.0
 Thanks,
 Beth
 
 
 
 ---
 This email and any files transmitted with it are confidential  proprietary 
 to Systems and
 Software Enterprises, Inc. (dba IMS). This information is intended solely for 
 the use of
 the individual or entity to which it is addressed. Access or transmittal of 
 the information
 contained in this e-mail, in full or in part, to any other organization or 
 persons is not
 authorized.
 ---
 
 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G phone?
 Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Porting installer to WiX

2010-07-15 Thread Wilson, Phil
If you have WinZip and you open that exe with it, you may see the embedded 
files. Or the internals might be proprietary. Otherwise as I said. If you run 
the exe the MSI file will be extracted somewhere, just hunt for it and 
copy/save it. 

Phil Wilson 


-Original Message-
From: Thode, Katelyn [mailto:katelyn.th...@guidancesoftware.com] 
Sent: Thursday, July 15, 2010 4:06 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Porting installer to WiX

The executable wraps an msi that was created with InstallShield 12.  Is there a 
way for me to extract the msi?

-Original Message-
From: Wilson, Phil [mailto:phil.wil...@invensys.com] 
Sent: Thursday, July 15, 2010 12:40 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Porting installer to WiX

It can't be MSI-based with guids everywhere *and* be simply an executable, so 
I'd verify that it's not an older non-MSI setup of the type that InstallShield 
used to do. If it is MSI-based and an exe, then maybe the MSI file is embedded 
in the resources of the exe (something like Winzip might show you that), or if 
you run it then there'll be an MSI file pop out somewhere to be installed, then 
you can use Orca to look at it, and Dark to decompile it to WiX source. 

Phil Wilson 

-Original Message-
From: Thode, Katelyn [mailto:katelyn.th...@guidancesoftware.com] 
Sent: Thursday, July 15, 2010 9:40 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Porting installer to WiX

I am working on porting an InstallShield installer over to wix.  I don't have 
the source code for the installer and the installer itself is an executable 
file.  Is there a way to get the GUIDs for the product Id and upgrade code from 
the executable file?

Thanks,
Katelyn

Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


*** Confidentiality Notice: This e-mail, including any associated or attached 
files, is intended solely for the individual or entity to which it is 
addressed. This e-mail is confidential and may well also be legally privileged. 
If you have received it in error, you are on notice of its status. Please 
notify the sender immediately by reply e-mail and then delete this message from 
your system. Please do not copy it or use it for any purposes, or disclose its 
contents to any other person. This email comes from a division of the Invensys 
Group, owned by Invensys plc, which is a company registered in England and 
Wales with its registered office at Portland House, Bressenden Place, London, 
SW1E 5BF (Registered number 166023). For a list of European legal entities 
within the Invensys Group, please go to 
http://www.invensys.com/legal/default.asp?top_nav_id=77nav_id=80prev_id=77. 
You may contact Invensys plc on +44 (0)20 7821 3848 or e-mail 
inet.hqhelpd...@invensys.com. This e-mail and any attachments thereto may be 
subject to the terms of any agreements between Invensys (and/or its 
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and 
affiliates).



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
Note: The information contained in this message may be privileged and
confidential and thus protected from disclosure. If the reader of this
message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, you are hereby
notified that any dissemination, distribution or copying of this
communication is strictly prohibited.  If you have received this
communication in error, please notify us immediately by replying to the 
message and deleting it from your computer.  Thank you.


--
This SF.net email 

Re: [WiX-users] How to add UI for Minor Patches(msp)?

2010-07-15 Thread Blair
MSP application uses the UI from the MSI it upgrades to.

-Original Message-
From: KATO Kanryu [mailto:k.kan...@gmail.com] 
Sent: Wednesday, July 14, 2010 11:20 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to add UI for Minor Patches(msp)?

hi,

I made a minor patch with PatchCreation, .pcp and MsiMsp.exe
But the msp doesn't have any Wizard UIs.

How to add UI for that?

Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
PatchCreation
Id=224C316D-5894-4771-BABF-21A3AC1F75FF
CleanWorkingFolder=yes
OutputPath=patch.pcp
WholeFilesOnly=yes
Codepage=932


PatchInformation
Description=$(var.AppFullName) Updater $(var.PatchVersion)
Comments=$(var.AppFullName) Updater $(var.PatchVersion)
ShortNames=no
Languages=1041
Compressed=yes
Manufacturer=Our Company/

PatchMetadata
AllowRemoval=yes
Description=$(var.AppFullName) Updater $(var.PatchVersion)
ManufacturerName=Our Company
TargetProductName=$(var.AppFullName)
MoreInfoURL=http://www.ours.co.jp;
Classification=Update
DisplayName=$(var.AppFullName) Updater $(var.PatchVersion)/

Family DiskId=5000
MediaSrcProp=Sample
Name=Sample
SequenceStart=5000
UpgradeImage SourceFile=Maou11.msi Id=SampleUpgrade
TargetImage SourceFile=Maou.msi Order=2
Id=SampleTarget IgnoreMissingFiles=no /
/UpgradeImage
/Family

PatchSequence PatchFamily=SamplePatchFamily
Sequence=1.0.0.0
Supersede=yes
 /

/PatchCreation
/Wix


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] How to make Edit control readonly?

2010-07-15 Thread Elfe Xu
Could we have a read-only edit control, so user can select the text, but cannot 
modify it?

Thanks,
-Elfe
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] About running Any CPU custom EXE from 32bit MSI on 64bit machine

2010-07-15 Thread Blair
Use Environment.SpecialFolder.ProgramFilesX86 instead of
Environment.SpecialFolder.ProgramFiles. Both values should be defined on a
32-bit machine.

-Original Message-
From: Chirag Goradia [mailto:chiraggora...@gmail.com] 
Sent: Thursday, July 15, 2010 2:46 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] About running Any CPU custom EXE from 32bit MSI on
64bit machine

Hi everyone,

We are running custom EXEs ( .NET 2.0 console application ) built with Any
CPU platform from a 32bit MSI on 64bit machine.
In the custom EXE, we use *
Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)* to
execute
some custom logic on our files installed in the ProgramFiles folder path.

The issue is on 64bit machine:
32bit MSI installs files to C:\Program Files (x86)\
custom EXE runs logic in C:\Program Files\  ... we think this is because it
was built for Any CPU platform

In the CustomAction  node, we tried to set Win64=no so that it runs the
custom EXE as if it were on 32bit machine. However, still the custom EXE
runs logic in C:\Program Files\  instead of C:\Program Files (x86)\


Do you have any suggestions ?

Thanks
Chirag

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Best practice to include customer/user specific files (also when using a bootstrapper)

2010-07-15 Thread Blair
SourceDir is set by Windows Installer and is a private session property,
so no bootstrapper can easily change it to something different than the
folder the MSI is run from. You could try using a bootstrapper that passes
a property with a value corresponding to its current directory (or adding
similar code to a bootstrapper to which you have source code).

Alternately, use a release mechanism such that you embed the
FOLDER_WITH_USER_SPECIFIC_FILES into your bootstrapper along with the MSI.

-Original Message-
From: daniel.knoep...@noser.com [mailto:daniel.knoep...@noser.com] 
Sent: Thursday, July 15, 2010 7:09 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Best practice to include customer/user specific files
(also when using a bootstrapper)

Hi

Some parts of our application are very customer/user specific. For example,
there will be a varying number of files in the appData-folder depending on
the installation. The approach i have used so far is having a custom action
copying these files. .
An example installation package could look like this. It is important the
the msi and the other files reside in the same folder!

Application.msi
FOLDER_WITH_USER_SPECIFIC_FILES   (These files change per customer,
impossible to compile them into the msi)

Via the SourceDir Property I then manage to copy the files into the desired
folder. This works well so far, although I am not entirely happy about it as
the declarative approach of windows installer is undermined. However, with
my limited wix knowledge, this is the only solution a can see.

Unfortunately, our application has some prerequisites (.NET framework,
crystal reports...) and therefore needs to have a bootstraper containing all
prerequisites and the msi file, that takes care of installing them. The
bootstrapper i have tried (dotNetInstaller), copies the msi to a temp folder
and as a consequence, the msi and the installation-specific files no longer
reside in the same folder. The SourceDir points then to the wrong directory
and the the user specific files cannot be copied.


My questions are now:

- Are there any better, well-proven approaches, that stick to the msi
declarative approach
- Is there a solution to the bootstrapper problem? Are there (free)
bootstrappers, that embedd all files and trigger the msi installation with
the SourceDir property pointing to the directory of the bootstrapper? It
would then look like this:

Bootstrapper.exe
FOLDER_WITH_USER_SPECIFIC_FILES   (These files change per customer,
impossible to compile them into the msi, or Bootstrapper)

Any help is appreciated. Thanks in advance.

Dan


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Difficulties registering a Preview Pane handler

2010-07-15 Thread Blair
It would appear that the preview handler you are using does some
calculations to determine what changes to make to the box (a part of the
evil of self-registration is when there is no way to know beforehand what
some component will try to do to your box).

You will need to get a hold of the source code to your preview handler and
see what it is doing, and try to distill out of that what really needs to be
done in a declarative way.

-Original Message-
From: Daniel Moody [mailto:dani...@gibbscam.com] 
Sent: Thursday, July 15, 2010 9:23 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Difficulties registering a Preview Pane handler

Hello,

I'm trying to register a Preview Pane handler for our product's files using
Wix.  Unfortunately, Heat is unable to harvest anything from the preview
handler .dll file.  Iit gives a HEAT5151 error and reports Exception has
been thrown by the target of an invocation.  I've tried using the
before-and-after registry snapshot approach, which has given me a large
number of registry keys and values, which oddly work fine on most computers
but not at all on a few.

My installer is GACing the .dll just fine, and if I run regasm from a
command line after my installer is finished, everything works as expected.

As I've just had the installer project transferred to me recently, I often
reference our old InstallShield installer to see what my predecessor did,
but in this case he used a binary custom action to manually run regasm,
something that I intend to avoid at all costs.

Thanks,

Daniel Moody | QA Engineer | Gibbs and Associates




--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to make Edit control readonly?

2010-07-15 Thread Blair
Here is the list of attributes that Windows Installer allows edit controls
to have:

http://msdn.microsoft.com/library/aa368342.aspx

Readonly isn't one of them.

I haven't tried: can you select and copy text from a static text control?

-Original Message-
From: Elfe Xu [mailto:elf...@microsoft.com] 
Sent: Thursday, July 15, 2010 6:36 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to make Edit control readonly?

Could we have a read-only edit control, so user can select the text, but
cannot modify it?

Thanks,
-Elfe

--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Difficulties registering a Preview Pane handler

2010-07-15 Thread Sascha Beaumont
Have you taken a look at the documentation on registering preview
handlers?  http://msdn.microsoft.com/en-us/library/cc144144(VS.85).aspx
explains pretty much everything in detail.

Here's some sample code for installing a 32-bit native code handler on
both 32 and 64-bit systems, hope this helps.


Fragment
Component Id=MyPreviewHandler.dll 
Directory=APPLICATIONFOLDER  Guid=*
File Id=MyPreviewHandler.dll KeyPath=yes
Source=SourceDir\MyPreviewHandler.dll /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\AcmeXYZ.Document\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f}
Value={XXX-XXX-XXX-XXX} Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Microsoft\Windows\CurrentVersion\PreviewHandlers
Name={XXX-XXX-XXX-XXX} Value=XYZ Preview Handler Type=string /

RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Value=XYZ Preview
Handler Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Name=DisplayName
Value=XYZ Preview Handler Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}
Name=DisableLowILProcessIsolation Value=1 Type=integer /
!-- 32-bit handler needs to use different AppID on 
x64, refer
http://msdn.microsoft.com/en-us/library/cc144144(VS.85).aspx --
?if $(var.ProcessorArchitecture)=x64 ?
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Name=AppID
Value={534A1E02-D58F-44f0-B58B-36CBED287C7C} Type=string /
?else?
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Name=AppID
Value={6d2b5079-2f0b-48dd-ab7f-97cec514d30b} Type=string /
?endif?


RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Value=[!MyPreviewHandler.dll] Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Name=ThreadingModel Value=Apartment Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Name=ProgID Value=AcmeXYZ.Document Type=string /
!-- Only install for Vista+ --
Condition![CDATA[VersionNT = 600]]/Condition
/Component
/Fragment
Fragment
!-- 64-bit preview handler voodoo *waves hands magically* --
Component Id=MyPreviewHandler_x64 Directory=XYZCommonFiles
Guid=* Win64=yes
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Value=XYZ Preview
Handler Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX} Name=DisplayName
Value=!(loc.ApplicationName) Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}
Name=DisableLowILProcessIsolation Value=1 Type=integer /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Value=[!MyPreviewHandler.dll] Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Name=ThreadingModel Value=Apartment Type=string /
RegistryValue Root=HKLM
Key=SOFTWARE\Classes\CLSID\{XXX-XXX-XXX-XXX}\InprocServer32
Name=ProgID Value=AcmeXYZ.Document Type=string /
!-- Only install for Vista+ --
Condition![CDATA[VersionNT = 600]]/Condition
/Component
/Fragment



On Fri, Jul 16, 2010 at 2:23 AM, Daniel Moody dani...@gibbscam.com wrote:
 Hello,

 I'm trying to register a Preview Pane handler for our product's files using
 Wix.  Unfortunately, Heat is unable to harvest anything from the preview
 handler .dll file.  Iit gives a HEAT5151 error and reports Exception has
 been thrown by the target of an invocation.  I've tried using the
 before-and-after registry snapshot approach, which has given me a large
 number of registry keys and values, which oddly work fine on most computers
 but not at all on a few.

 My installer is GACing the .dll just fine, and if I run regasm from a
 command line after my installer is finished, everything works as expected.

 As I've just had the installer project transferred to me recently, I often
 reference our old InstallShield installer to see what my predecessor did,
 but in this case he used a binary custom action to manually run regasm,
 something that I intend to avoid at all costs.

 Thanks,

 Daniel Moody | QA Engineer | Gibbs and Associates



 --
 This SF.net email is sponsored by Sprint
 What will you do first with EVO, the first 4G 

Re: [WiX-users] C# Custom Action DLL fails

2010-07-15 Thread Blair
Could it be something related to the executable being launched instead of an
issue with the custom action itself?

What is the impersonate setting of the custom action doing the launching?
What is the executionLevel value for the executable being launched?

-Original Message-
From: Keith Hassen [mailto:keith.has...@gmail.com] 
Sent: Thursday, July 15, 2010 11:41 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] C# Custom Action DLL fails

Hi,

I'm having a problem with WiX 3.5 launching a separate executable from a
custom action during the InstallFinalize action.  This seems to only
occur on systems where I don't have Visual Studio 2005 installed.  On my
development system, the installer runs just fine.  The Custom Action is
a C# WiX Custom Action DLL.  The code pulls in the
System.Diagnostics.Process class, and uses it to launch a couple of
processes.  If I comment out the Process class portion of the code,
everything runs just fine.  If I try to launch a Process instance, I get
this error:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI86.tmp-\
SFXCA: Binding to CLR version v2.0.50727
Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem
   at
System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo
startInfo)
   at System.Diagnostics.Process.Start()
   at WiXCustomActions.CustomActions.ConfigureTerminals(Session session)

My first thought was that the CRT (C lang runtime) wasn't installed.  I
tried installing the Windows 2008 SP1 Redistributable, but that had no
impact.  I then decided to generate a simple test executable just to see
if there was something inherently problematic about the
System.Diagnostics namespace/classes.  But my test executable ran just
fine (and the test executable contains nearly identical Process class
code as the custom action DLL).

Anyway, I noticed that the SFXCA is loading CLR version 2.0.50727.  So I
modified CustomActions.config to use version 4.0 of the .NET framework,
and that also made no difference:

SFXCA: Extracting custom action to temporary directory:
C:\WINDOWS\Installer\MSI12.tmp-\
SFXCA: Binding to CLR version v4.0.30319
Calling custom action
WiXCustomActions!WiXCustomActions.CustomActions.ConfigureTerminals
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem

Finally, I also tried installing the .NET 4.0 Framework, but that didn't
make a difference either.  I think this must be an issue of a missing
library, but I can't seem to figure out which it is.  I'm tempted to run
a trace to see what it's looking for, but that might take me hours/days.

Any ideas?

Keith



--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users