[WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread vunder

I hahe an executable file stored in Binary element:
Binary Id=DetectBoard.exe
Source=Components\dfPost4Files\BoardDrivers\DetectBoard.exe/
I need to execute it in my vbscript custom action and then depends on return
code set some value to variable.

To run files I am using:
  Set wshshell = WScript.CreateObject (WScript.shell)
  wshshell.Run (%comspec% C:\CheckIDE\CheckIDE.exe)

But how can I execute my file stored in Binary?

-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-execute-binary-in-VBScript-custom-action-tp5931213p5931213.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] WiX source code download

2011-01-17 Thread MeCoco
OK, the sources, for different versions, can be downloaded here:
http://wix.sourceforge.net/releases/

The link can be found when going to: http://wix.sourceforge.net/ and 
clicking Weekly Releases.

MeCoco

On 1/14/2011 5:25 PM, MeCoco wrote:
 Hi all,

 I want to get the WiX sources but on sourceforge I found that they were
 moved:
 WiX toolset source and releases move to CodePlex.
 June 6th, 2010
 The WiX toolset source code and file releases have moved off of
 SourceForge to CodePlex

 I went to the:
 http://wix.codeplex.com/

 but here I can't seem to find how can I download the WiX _source code_
 for V 3.0. Can smbd give me a link?

 Thank you.
 MeCoco

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Wix upgrade process does not consider 4th part of the version string

2011-01-17 Thread Pally Sandher
The core problem here is something you've highlighted already yourself
Rob in your earlier post. Windows Installer is repeatedly  vehemently
inconsistent (consistently inconsistent?). As you state, it quite
happily recognises 4 version fields for File versions but Products are
limited to 3. As per Neil's experience we've had to choose an approach
which best suits both our versioning requirements  what Windows
Installer will work with due to the inconsistency.

In most other 'platforms', when issues of this ilk are uncovered they
tend to be addressed by the developers. Unfortunately as we've all
experienced over the years, this isn't how Microsoft treats Windows
Installer to all our detriment.

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: Rob Mensching [mailto:r...@robmensching.com] 
Sent: 17 January 2011 02:47
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix upgrade process does not consider 4th part
of the version string

I saw you're reply later and was going to get to it later (er, now).
smile/

Personally, I would chose to have an error that says, An equal version
of this product is installed. Remove it first, before installing. Maybe
with a bit better error message.
The lack of 4th version in the installer does make standard CI
difficult. I guess I would just push the error up rather than hide the
issue and have the mysterious behavior of The installer just downgraded
me today.  Maybe you've trained your users (QA only?) and have other
systems in place to prevent the badness of downgrade (aka: versioning
gone wrong) in check.
Maybe the CI adds enough value to deal with the issues. In my
experience, the trade-offs don't work and most people don't think
through the full repercussions, leading to bad places.

Neil, you certainly pay attention to the details and I'm possibly just
jaded. This is just my point of view. smile/

Finally, I agree that the Windows Installer is the best of the
alternatives thus far.
On Sun, Jan 16, 2011 at 2:09 PM, Neil Sleightholm
n...@x2systems.comwrote:

  PS: If you don't thinking versioning is that important to your
 product then you probably think I'm over exaggerating the issue.

 100% agree, version is 'the' most important thing I do. I know you 
 replied to Chris but I thought I'd add my comments...

 This is why I have had to choose the approach I outlined. I choose to 
 schedule RemoveExistingProducts after InstallValidate for exactly the 
 same reason, remove everything then put it back, that way I can get 
 around the Windows Installer limitations. I choose Windows Installer 
 because it helps more than hinders - I would love to use a product 
 that did everything I need but it doesn't exist. I accept the 
 limitations but there is no alternative but to work around them.

 May be I am missing the point but surely the WiX install has adopted 
 the same approach, you just happen to set part 4 to 0 and don't 
 release two versions on the same day. If you have continuous 
 integration system I am struggling to see an alternative.

 Neil

 -Original Message-
 From: Rob Mensching [mailto:r...@robmensching.com]
 Sent: 16 January 2011 18:12
 To: General discussion for Windows Installer XML toolset.
  Subject: Re: [WiX-users] Wix upgrade process does not consider 4th 
 part of the version string

 Oh, I can't justify the Windows Installer choice either. I also can't 
 change it.

 Software engineering is fun because we can build our own Lego blocks 
 to build what we want to build. Remember 30 years ago how hard it was 
 to build smooth looking things with Legos? The parts just did not 
 exist (they kinda'
 do now, pretty cool).

 In software we get to build our own parts.

 *Except* when we choose to use some platform. Then the platform 
 dictates certain things to be true. The rules of gravity if you like. 
 The Windows Installer (for whatever reason, I really don't know) chose

 that only the first 3 parts of the ProductVersion would be evaluated.
That's it.
 That's gravity. We can request that they change the rule but until the

 rule changes, that's it.

 Now, many software engineers don't like to accept limitations. We know

 we could alwasy build our own blocks. Most software engineers 
 particularly disdain limitations that have no value or *negative*
value.
 Sometimes creative solutions can even provide solid work arounds with 
 no ill side-effects. However, messing with versioning is terrifying to

 me because versioning is the very foundation for software engineering 
 and especially vital for *setup* development. Get versioning wrong and

 you end up with 

Re: [WiX-users] compression

2011-01-17 Thread Pally Sandher
Try  CompressionLevel=high as it's better than mszip in my
experience.

Also your MSI itself will be a significant part of that 4.5 depending on
it's complexity. Build with EmbedCab=no to see what size it is itself.

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: Ralph Esslinger [mailto:reesslin...@matthews.com.au] 
Sent: 17 January 2011 02:30
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] compression

I have created a msi file and it seems to work fine but the compression
does not seem to work.  If my included files are 3mb I end up with a
4.5mb msi.
If I zip the files I end up with 1mb.

 

I have the following line in my wxs file Media Id=1 Cabinet=CAB
EmbedCab=yes CompressionLevel=mszip/

 

Mszip should be default anyway.

 

What should I do so the msi is about 1mb?

 

Thanks

Ralph

 


--
Protect Your Site and Customers from Malware Attacks Learn about various
malware tactics and how to avoid them. Understand malware threats, the
impact they can have on your business, and how you can protect your
company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread Pally Sandher
Files specified in Binary elements are embedded within the MSI. You'd
need to extract it from your MSI first to a known location which is
neither easy nor quick to write.
The usual widely used solution is to install the file  refer to it
using it's File Id (use [#FileId] for the full path) in your VBScript.
Both of these have been discussed many times on the list (search
nabble.com or mail-archive.com).

FYI VBScript custom actions also have their issues. See
http://wix.sourceforge.net/manual-wix2/robmen_20040520.htm

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: vunder [mailto:vun...@bk.ru] 
Sent: 17 January 2011 09:29
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] How to execute binary in VBScript-custom action


I hahe an executable file stored in Binary element:
Binary Id=DetectBoard.exe
Source=Components\dfPost4Files\BoardDrivers\DetectBoard.exe/
I need to execute it in my vbscript custom action and then depends on
return code set some value to variable.

To run files I am using:
  Set wshshell = WScript.CreateObject (WScript.shell)
  wshshell.Run (%comspec% C:\CheckIDE\CheckIDE.exe)

But how can I execute my file stored in Binary?

--
View this message in context:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-exe
cute-binary-in-VBScript-custom-action-tp5931213p5931213.html
Sent from the wix-users mailing list archive at Nabble.com.


--
Protect Your Site and Customers from Malware Attacks Learn about various
malware tactics and how to avoid them. Understand malware threats, the
impact they can have on your business, and how you can protect your
company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Wix upgrade process does not consider 4th part of the version string

2011-01-17 Thread Albert van Peppen

For the reason mentioned, we use the bootstrapper for handling the correct 
action on the fourth part of the version string.
This is not too hard and you can show a 'Internal release', 'Alpha release' or 
'Beta release' logo when installing as well :)

Albert van Peppen

-Oorspronkelijk bericht-
Van: Christopher Painter [mailto:chr...@deploymentengineering.com] 
Verzonden: zondag 16 januari 2011 18:18
Aan: General discussion for Windows Installer XML toolset.
Onderwerp: Re: [WiX-users] Wix upgrade process does not consider 4th part of 
the version string

Rob-

 The comment to not use MSI aside,  it is pretty hard for me to justify to 
build engineers, software developers and product managers that yes they can 
build DLL's as 1.0.0.0 and 1.0.0.1  but that they can't build their MSI as 
1.0.0.0 and 1.0.0.1 because MSI will see it as 1.0.0 and 1.0.0.

I'm pretty much left saying  you are right, that is the tail wagging the dog.  
But that's the framework we use so deal.

I'd appreciate your detailed thoughts on this.

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



- Original Message 
From: Rob Mensching r...@robmensching.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Sun, January 16, 2011 10:55:00 AM
Subject: Re: [WiX-users] Wix upgrade process does not consider 4th part of the 
version string

Terrifying. You must be in some really controlled environments for that to
work out well. smile/

The Windows Installer (for whatever reason) chose to ignore the 4th version.
It boggles my mind that management gets to decide a versioning scheme that
won't work. You might as well pick a different installation technology that
meets the requirement than the Windows Installer if something so fundamental
as versioning is going to be ignored.
The cognitive dissonance here kills me. smile/
On Sun, Jan 16, 2011 at 7:07 AM, Neil Sleightholm n...@x2systems.comwrote:

 I have a similar scenario and my workaround is to allow same version
 upgrades. This means 3.0.1.14900 will upgrade 3.0.1.14500 (but it also
 means 3.0.1.14500 will upgrade 3.0.1.14900 which might be undesirable).

 In WiX 3.5 you can do this by setting
 MajorUpgrade/@AllowSameVersionUpgrades - otherwise just set the
 appropriate fields in the Upgrade table.

 Neil

 -Original Message-
 From: Sanjay Rao [mailto:s...@noida.interrasystems.com]
 Sent: 14 January 2011 21:33
 To: General discussion for Windows Installer XML toolset.
 Subject: [WiX-users] Wix upgrade process does not consider 4th part of
 the version string

  Hi,

 I have an installer having 4-part version strings. Our installer stops
 installation if a newer version is already installed on the system. We
 often have alpha/beta releases of our product in which we do not change
 first 3 parts of the product. Suppose we have two releases of our
 product :
 Release1 : 3.0.1.14500(Alpha)
 Release2 : 3.0.1.14900(Beta)

 Our users are able to install alpha release even if beta is already
 present on their systems.
 I went through this article
 http://wix.sourceforge.net/manual-wix3/major_upgrade.htm
 see the paragraph having text Windows Installer only uses the first 3
 parts of the

 Is there any way in Wix to take care of 4th part of version string in
 upgrade process ?
 OR
 Do I need to dive into clumsy custom action thing to take care this ?

 Regards,
 Sanjay Rao

 --
 Sanjay Rao
 Digital Media Group, Interra Systems
 s...@interrasystems.com
 Phone: +1-408-873-1212
 http://www.interrasystems.com

 
 --
 Protect Your Site and Customers from Malware Attacks Learn about various
 malware tactics and how to avoid them. Understand malware threats, the
 impact they can have on your business, and how you can protect your
 company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to 

Re: [WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread vunder

Thanks. But I need to run file during installation. Seems I have to write new
CA dll, extract file in it, run it and return result in variable
-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-execute-binary-in-VBScript-custom-action-tp5931213p5931828.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Wix upgrade process does not consider 4th part of the version string

2011-01-17 Thread Neil Sleightholm
That is a good idea, I think I'll add that to my bootstrapper.
 
Sounds like a useful feature for Burn.
 
Neil
 
Neil Sleightholm
X2 Systems Limited
n...@x2systems.com mailto:n...@x2systems.com 
 



From: Albert van Peppen [mailto:alb...@insad.nl]
Sent: Mon 17/01/2011 11:37
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Wix upgrade process does not consider 4th part of the 
version string




For the reason mentioned, we use the bootstrapper for handling the correct 
action on the fourth part of the version string.
This is not too hard and you can show a 'Internal release', 'Alpha release' or 
'Beta release' logo when installing as well :)

Albert van Peppen



--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread Tobias S
Despite my recommendation not to use trouble making VBScripts (e.g.
issues when customers VBScript runtime environment is not configured
properly) you can use the BinaryWrite CA from
http://msiext.codeplex.com/ to do what you need.

http://code.dblock.org/Source/msiext/1.2/Docs/_msi_binary_8h.html#ae1b642e8fa3ad62c069a7a76eb90f688
should be the direct link to the CA documentation.



2011/1/17 vunder vun...@bk.ru:

 Thanks. But I need to run file during installation. Seems I have to write new
 CA dll, extract file in it, run it and return result in variable
 --
 View this message in context: 
 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-execute-binary-in-VBScript-custom-action-tp5931213p5931828.html
 Sent from the wix-users mailing list archive at Nabble.com.

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread Christopher Painter
Since you are using VBScript, am I correct in assuming that this DLL you 
are calling into is a COM object?   Are you planning on registering that puppy 
from within your VBScript CA or something?


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



- Original Message 
From: Tobias S tobias.s1...@gmail.com
To: General discussion for Windows Installer XML toolset. 
wix-users@lists.sourceforge.net
Sent: Mon, January 17, 2011 8:40:40 AM
Subject: Re: [WiX-users] How to execute binary in VBScript-custom action

Despite my recommendation not to use trouble making VBScripts (e.g.
issues when customers VBScript runtime environment is not configured
properly) you can use the BinaryWrite CA from
http://msiext.codeplex.com/ to do what you need.

http://code.dblock.org/Source/msiext/1.2/Docs/_msi_binary_8h.html#ae1b642e8fa3ad62c069a7a76eb90f688

should be the direct link to the CA documentation.



2011/1/17 vunder vun...@bk.ru:

 Thanks. But I need to run file during installation. Seems I have to write new
 CA dll, extract file in it, run it and return result in variable
 --
 View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-execute-binary-in-VBScript-custom-action-tp5931213p5931828.html

 Sent from the wix-users mailing list archive at Nabble.com.

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



  

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Can a wixlib know the referring projects Package Platform?

2011-01-17 Thread Maillet, Ed
Hey all,
  I'm trying to setup some conditions in a wixlib and I'm finding that some 
need to be based on the Package Platform attrib on the project that 
references my wixlib.

How can that be done? The only idea I have seems a bit like a kludge.


- Ed


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

2011-01-17 Thread Shaun Hayward
 WiX doesn't do it, the Windows Installer does. WiX is just the language.

True :-)

So let me rephrase: I didn't realize that MSI had a way to retrieve the DLL's 
version and compare against it. But since it does, the awesome WiX will support 
it. Does anyone have a WiX sample of how to accomplish this?

Thanks!
- Shaun


Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429 | 
www.omnivex.com

-Original Message-
From: Rob Mensching [mailto:r...@robmensching.com] 
Sent: Friday, January 14, 2011 11:12 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in 
subject - Email found in subject - Email found in subject

WiX doesn't do it, the Windows Installer does. WiX is just the language.
smile/

Check out the FileSearch element.

On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward shayw...@omnivex.com wrote:

 I didn't realize WiX had a way to actually retrieve a DLL's version and
 compare against it. I was looking all over for that.

 Any chance you have a code sample up on your blog?

 And I'll be sure to check out the DTF articles on your blog.

 Thanks
 - Shaun

 
 From: Christopher Painter [chr...@deploymentengineering.com]
 Sent: Friday, January 14, 2011 7:16 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
 Emailfound in subject - Email found in subject

 Funny you say that,  I was doing some work with KB976477 just today.   Some
 much
 that I have that KB memorized.

 I don't use a CA to detect this hotfix.  I just  use the
 AppSearch/DrLocator/Signature tables to search
 [CommonFilesFolder]\Microsoft
 Shared\Office12 for MSO.DLL version 12.0.6520.5000 or greater.

 Rob has made some comments lately about targetting CLR runtime
 versions. Generally I write my custom actions to target .NET 2.0 and set up
 the
 DTF CA's to run against CLR 2.0 or 4.0.

 Either way I still find myself having to make sure .NET 3.5SP1 and .NET 4.0
 are
 on my target machines.  For example VSTO AddIns using .NET 4.0 targetting
 Office
 2007 have to have both the 2.0 and 4.0 CLR loaded.  Yeah, seriously.

 BTW, there are lot's of articles on DTF over at my blog.



 - Original Message 
 From: Shaun Hayward shayw...@omnivex.com
 To: General discussion for Windows Installer XML toolset.
 wix-users@lists.sourceforge.net
 Sent: Fri, January 14, 2011 5:56:44 PM
 Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email
 found in
 subject

 Thanks, Chris!

 Funny it should be you that replies. I'm looking at deploying a VSTO add-in
 and
 I've read the related articles on your blog. The custom action is to check
 for
 the presence of KB976477. I think I've FINALLY found a fool-proof (yeah,
 right)
 way to determine if it (or a newer patch that includes 976477) is present.
 (It's
 FOSS, so anyone who is interested can have the code)

 So it sounds like C# is just fine. YAY! The DTF classes look REALLY sweet
 in
 comparison to what I'm dealing with in C++ - I just didn't know if I should
 feel
 free to use them at this point.

 Should the add-in be targeting a specific version of the framework? My
 add-in
 requires .NET Framework 4, and .NET 4 does not necessarily seems to include
 full
 compatibility with .NET 2 (so saith the QAs where I work).

 Good-bye, C++ Custom Action - hello, C# Custom Action.

 Thanks again - you made my week.
 - Shaun

 PS: No flack on using InstallScript. Whatever works at the end of the day
 and
 makes your life easy, right?






 -Original Message-
 From: Christopher Painter [mailto:chr...@deploymentengineering.com]
 Sent: Friday, January 14, 2011 6:32 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email
 found in
 subject


  VB/JScript is still a no go.  The managed blog was ( thankfully ) O.B.E.
 when
 WiX released managed custom action via DTF.

 Personally, if I had the C++ chops, had enough reusable libraries and was
 typically shipping unmanaged apps then I probably would be an unmanaged
 purist for CA's.   WiX uses C++ in it's custom actions because customers
 might
 not need/want .NET and since the CA's are being used by a very wide
 audience
 it's good to spend the time and make them perfect.

 But alas, I've got C# chops, the base class libraries are very powerful and
 I
 ship nearly all managed apps.


 For me, the choice is easy.  For the rare occasion that I don't want a
 dependency on .NET I either  a) role an InstallScript custom action or b)
  write

 it in DTF first and then borrow a resource from development to port it over
 to
 C++.

 PS-  Don't anyone jump on my InstallScript comment unless you know what you
 are
 talking about. :-)   Prior is IS 12 I'd agree with you 100%.

 Christopher Painter, Author of Deployment Engineering Blog
 Have a 

Re: [WiX-users] How to execute binary in VBScript-custom action

2011-01-17 Thread vunder

Thanks for advice. I thought that vbscript can help me to decide this
problem. The rigth thoise is C++ custom action!
-- 
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/How-to-execute-binary-in-VBScript-custom-action-tp5931213p5932241.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Patch Creation Issues

2011-01-17 Thread Aaron DeMarre
Thank you that gives me something to go on. I have all my components in the
same fragment, so now I understand what is going on with PatchFamily. If I
were to move all changed components into a separate fragment in the updated
installer, would this have any effect? Or does it use the fragments declared
in the original installer?

-Aaron

On Sat, Jan 15, 2011 at 2:39 AM, Blair os...@live.com wrote:

 Some notes on how that patch creation process works:

 1. Torch doesn't look at the files themselves, only at the metadata for
 them
 already captured in Windows Installer tables. In part because of this (but
 mostly because some other data that isn't likely to change is also needed
 when building the MSP) the output of torch used to build patches (produced
 using the /p switch) contains all data, not just the changed data. Pyro
 does the reduction of data down to just the changed items (it's also Pyro
 that does the file comparisons). Consider Torch output intended for Pyro to
 be intermediate data, not an indication of final output.

 2. Source code Fragment membership (from the upgraded sources) is
 maintained through Torch into Pyro. *Refs under PatchFamily cause all
 changes in the same Fragment (or other similar fragments, such as
 Product)
 to be included in the patch. To exclude those, you need to have the
 components you do not wish to include in a fragment that is not shared by
 anything referenced by the PathFamily. Note that if you do not have
 anything
 referenced, every change is in the patch. Conversely, if you do want some
 change to be included, reference something in its fragment.

 3. Use a verbose log to determine why/when your property is being
 cleared/not set erroneously. Compare a verbose log from a non-patched
 installation and one from the patched one.

 Blair

 -Original Message-
 From: Aaron DeMarre [mailto:adema...@gmail.com]
 Sent: Friday, January 14, 2011 12:23 PM
 To: wix-users@lists.sourceforge.net
 Subject: Re: [WiX-users] Patch Creation Issues

 I should add that I get a very different output from torch.exe when I
 remove
 the files that are to be added in the patch. These files were added as
 components to the top level feature, which is always installed. However, I
 cannot see a pattern to what files are included in the .msp torch.exe
 outputs, some modified files are included, others are not.

 -Aaron

 On Fri, Jan 14, 2011 at 11:28 AM, Aaron DeMarre adema...@gmail.com
 wrote:

  Hello all, I am having some issues creating a patch and was hoping to get
  some insight.
 
  I am using the Using Purly Wix guide here:
  http://wix.sourceforge.net/manual-wix3/wix_patching.htm and have created
  many successful patches with this method. In this latest patch I am
 adding
  two files, and now I am having issues with the process. I am using Wix
 3.5,
  torch.exe reports 3.5.2124.0.
 
  1) The output from torch.exe does not appear to be correct, the .msp it
  outputs includes a lot of files that have not been changed in years. I
 did
 a
  binary diff on some of them, and there are no differences between the new
  and old files. The component IDs did not change, and these are
  unversioned help files. I cannot figure out when torch thinks they are
  modified.
 
  2) The inclusion of ComponentRefs in the PatchFamily of patch.wxs does
 not
  seem to have any control over what is included in the .msp. I noticed
 this
  some time ago in previous patches, but was actually thankful for this
 since
  a file that needed to be updated was not included in patch.wxs but made
 it
  into the patch. However, now a change in the default config file we ship
  with the product is causing issues, and I want to specifically exclude
 this
  file from the patch. It seems the patch is being made against the output
 of
  torch.exe and the ComponentRef entries in patch.exe are being ignored
  entirely.
 
  3) Unrelated to the two issues above, the patches are clearing
  the ARPINSTALLLOCATION property in the registry. I have this property set
 in
  the installer as a custom action with the condition (NOT Installed) AND
  (NOT PATCH) in order to prevent this. I am not sure if the custom action
 is
  running on patches with a blank value for the ARPINSTALLLOCATION
 property,
  or if my conditions are actually causing the property to not be set when
 it
  should be set during a patch. Or if this is an issue with the patch
 itself,
  and not the installer it is patching.
 
  Any help would be appreciated, especially on how to control (exclude)
 files
  from getting into the patch.
 
  Thanks in advance,
  Aaron DeMarre
 

 
 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 

Re: [WiX-users] Wix upgrade process does not consider 4th part of the version string

2011-01-17 Thread Sanjay Rao
Hi,

This is not a better solution at all. Sometimes user can support same 
version upgrade. On the other times he can have support of modifying the 
existing installation using installer. We cannot stop installation in 
case of same version.

Regards,
Sanjay Rao

On 16-01-2011 18:47, Rob Mensching wrote:
 I saw you're reply later and was going to get to it later (er, now).
 smile/

 Personally, I would chose to have an error that says, An equal version of
 this product is installed. Remove it first, before installing. Maybe with a
 bit better error message.
 The lack of 4th version in the installer does make standard CI difficult. I
 guess I would just push the error up rather than hide the issue and have the
 mysterious behavior of The installer just downgraded me today.  Maybe
 you've trained your users (QA only?) and have other systems in place to
 prevent the badness of downgrade (aka: versioning gone wrong) in check.
 Maybe the CI adds enough value to deal with the issues. In my experience,
 the trade-offs don't work and most people don't think through the full
 repercussions, leading to bad places.

 Neil, you certainly pay attention to the details and I'm possibly just
 jaded. This is just my point of view.smile/

 Finally, I agree that the Windows Installer is the best of the alternatives
 thus far.
 On Sun, Jan 16, 2011 at 2:09 PM, Neil Sleightholmn...@x2systems.comwrote:

 PS: If you don't thinking versioning is that important to your
 product then you probably think I'm over exaggerating the issue.

 100% agree, version is 'the' most important thing I do. I know you
 replied to Chris but I thought I'd add my comments...

 This is why I have had to choose the approach I outlined. I choose to
 schedule RemoveExistingProducts after InstallValidate for exactly the
 same reason, remove everything then put it back, that way I can get
 around the Windows Installer limitations. I choose Windows Installer
 because it helps more than hinders - I would love to use a product that
 did everything I need but it doesn't exist. I accept the limitations but
 there is no alternative but to work around them.

 May be I am missing the point but surely the WiX install has adopted the
 same approach, you just happen to set part 4 to 0 and don't release two
 versions on the same day. If you have continuous integration system I am
 struggling to see an alternative.

 Neil

 -Original Message-
 From: Rob Mensching [mailto:r...@robmensching.com]
 Sent: 16 January 2011 18:12
 To: General discussion for Windows Installer XML toolset.
   Subject: Re: [WiX-users] Wix upgrade process does not consider 4th part
 of the version string

 Oh, I can't justify the Windows Installer choice either. I also can't
 change it.

 Software engineering is fun because we can build our own Lego blocks to
 build what we want to build. Remember 30 years ago how hard it was to
 build smooth looking things with Legos? The parts just did not exist
 (they kinda'
 do now, pretty cool).

 In software we get to build our own parts.

 *Except* when we choose to use some platform. Then the platform dictates
 certain things to be true. The rules of gravity if you like. The Windows
 Installer (for whatever reason, I really don't know) chose that only the
 first 3 parts of the ProductVersion would be evaluated. That's it.
 That's gravity. We can request that they change the rule but until the
 rule changes, that's it.

 Now, many software engineers don't like to accept limitations. We know
 we could alwasy build our own blocks. Most software engineers
 particularly disdain limitations that have no value or *negative* value.
 Sometimes creative solutions can even provide solid work arounds with no
 ill side-effects. However, messing with versioning is terrifying to me
 because versioning is the very foundation for software engineering and
 especially vital for *setup* development. Get versioning wrong and you
 end up with non-working systems (particularly with the Windows
 Installer).

 Maybe I'm sensitive to the issue because I've just seen so many problems
 foisted upon our customers because some setup developer didn't think the
 rules had to apply him or her. Maybe in controlled environments, the
 setup developer can control the larger system to not worry about the
 inconsistent versioning rules that @AllowSameVersionUpgrade creates. I
 just don't have enough faith in large systems (I personally usuall have
 to deal with
 *extremely* large systems) to remain constant to mess with versioning
 like that.

 And ultimately, I have to ask, To what end? Are we trying to bend the
 monolithic Lego piece that is the Windows Installer to show it that we
 can?
 Are we trying to demonstrate that we think 3 part versioning is
 incredbily lame and that we are willing to pay the cognitive dissonance
 tax of messed up product versioning to show it?

 That's not worth it to me. I believe versioning (how ever many dots are
 involved) is too important to software 

[WiX-users] XmlConfig action not running on patch rollback?

2011-01-17 Thread David Rickard (USA)
I've got the following component:

  Component Id=machine.config.Update 
Guid=573DF5B0-438D-498d-8919-C4B96835C1EF
RegistryKey Root=HKLM Key=[REGISTRYKEY]\Settings\[TITLE] 
Action=createAndRemoveOnUninstall
  RegistryValue Action=write Type=integer Name=MACHINEMEMORYLIMIT 
Value=1 KeyPath=yes/
/RegistryKey
util:XmlConfig
  Id=CacheNode.memoryLimit.add
  
File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=create
  ElementPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=install
  Value=90 /
util:XmlConfig
  Id=CacheNode.memoryLimit.remove
  
File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=delete
  ElementPath=/configuration/system.web/processModel
  VerifyPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=uninstall /
  /Component

I want to add an attribute on install of the component and remove it on 
uninstall. Now this works just fine when the component is part of a full 
install and uninstall, but does not work as part of a patch. When I apply the 
patch, the component will install, the config edit will occur and the registry 
key will be added. When I roll back the patch, the registry key is removed, but 
the attribute is not removed.

I checked the logs and the action isn't even attempted. To make sure the action 
actually works I manually edited the config file and ran it on install. And it 
does work then. Also FRAMEWORKDIR is getting set properly on both the install 
and rollback steps. Is there a bug in the WIX utilities? Or is there something 
I'm doing wrong?
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Japanese Windows 7 conundrum

2011-01-17 Thread Kurt Jensen
I have an MSI that is not installing on the Japanese language version of
Windows 7 32-bit.  

The MSI has not been internationalized.

 

My software is installing to E:\ rather than C:\Program Files\.   

And then the custom actions are not being executed.  

 

In the log I see:

 

PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'E:\'.

PROPERTY CHANGE: Modifying SystemFolder property. Its current value is
'C:\Windows\system32\'. Its new value: 'E:\System\'.

PROPERTY CHANGE: Adding DriversFolder property. Its value is
'E:\System\Drivers\'.

PROPERTY CHANGE: Modifying WindowsFolder property. Its current value is
'C:\Windows\'. Its new value: 'E:\Windows\'.

PROPERTY CHANGE: Adding InfFolder property. Its value is
'E:\Windows\Inf\'.

PROPERTY CHANGE: Modifying DesktopFolder property. Its current value is
'C:\Users\Public\Desktop\'. Its new value: 'E:\Desktop\'.

PROPERTY CHANGE: Modifying ProgramFilesFolder property. Its current
value is 'C:\Program Files\'. Its new value: 'E:\'.

PROPERTY CHANGE: Adding SPIRICONDIRECTORY property. Its value is
'E:\Spiricon\'.

PROPERTY CHANGE: Adding PYROCAMDIRECTORY property. Its value is
'E:\Spiricon\PyrocamKMDF\'.

PROPERTY CHANGE: Adding i386DIRECTORY property. Its value is
'E:\Spiricon\PyrocamKMDF\i386\'.

 

Anybody have any idea what the heck is going on?  TIA.

 

Kurt Jensen

Senior Software Engineer

Ophir-Spiricon

www.ophiropt.com/laser-measurement
http://www.ophiropt.com/laser-measurement 

 

The True Measure of Laser Performance(tm)

 


**
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.clearswift.com
**


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] how to control File Sequence no in WIX

2011-01-17 Thread wix user
Hi,

I woluld like to know how we can control the file sequence no in the File
table. If I add newly added file element (with new componet) at the end in
next version of MSI. Still it is not getting sequence no at the end. This
breaks the patches.

Eg. I've a merge module with 50 file. we are using a component per file with
Keypath = yes. this is in the first version of product.
In the next version of product few files got added, then, in the wix file we
are adding the components for the new files at the end. We've an internal
logic to compare with base builds. But it is getting the sequence no
randomly.

Any advice in this area is appreciated.

Also is this file sequence no is per Module or per Disk? Please throw some
light in this area.

Thanks
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] XmlConfig action not running on patch rollback?

2011-01-17 Thread David Rickard (USA)
Just tried with WIX 3.6.1314. Same behavior.

-Original Message-
From: David Rickard (USA) [mailto:davri...@microsoft.com] 
Sent: Monday, January 17, 2011 11:35 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] XmlConfig action not running on patch rollback?

I've got the following component:

  Component Id=machine.config.Update 
Guid=573DF5B0-438D-498d-8919-C4B96835C1EF
RegistryKey Root=HKLM Key=[REGISTRYKEY]\Settings\[TITLE] 
Action=createAndRemoveOnUninstall
  RegistryValue Action=write Type=integer Name=MACHINEMEMORYLIMIT 
Value=1 KeyPath=yes/
/RegistryKey
util:XmlConfig
  Id=CacheNode.memoryLimit.add
  
File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=create
  ElementPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=install
  Value=90 /
util:XmlConfig
  Id=CacheNode.memoryLimit.remove
  
File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=delete
  ElementPath=/configuration/system.web/processModel
  VerifyPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=uninstall /
  /Component

I want to add an attribute on install of the component and remove it on 
uninstall. Now this works just fine when the component is part of a full 
install and uninstall, but does not work as part of a patch. When I apply the 
patch, the component will install, the config edit will occur and the registry 
key will be added. When I roll back the patch, the registry key is removed, but 
the attribute is not removed.

I checked the logs and the action isn't even attempted. To make sure the action 
actually works I manually edited the config file and ran it on install. And it 
does work then. Also FRAMEWORKDIR is getting set properly on both the install 
and rollback steps. Is there a bug in the WIX utilities? Or is there something 
I'm doing wrong?
--
Protect Your Site and Customers from Malware Attacks Learn about various 
malware tactics and how to avoid them. Understand malware threats, the impact 
they can have on your business, and how you can protect your company and 
customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] How to continue on close of modal popup?

2011-01-17 Thread Matt Johnson
I have a UI dialog that I want to present a warning popup when a field is 
blank.  The dialog is launched with SpawnDialog and says something like Do you 
really want the field empty?  There are two buttons labeled Yes and No.  
If the user picks No, it's easy enough to close the popup and return to the 
parent dialog with the usual EndDialog event and Return value.  However, I 
can't seem to find a clean way to close the popup and still move to the next 
dialog.  There doesn't appear to be any other value I can pass to EndDialog 
that would do this.

I came up with a solution that kinda works.  Instead of using SpawnDialog, I 
use SpawnWaitDialog.  Then in the popup, I set a property when the user clicks 
either button.  This property is the trigger condition for the wait dialog.  
The approach works, except that the cursor changes to the wait icon (spinning 
circle or hourglass) - which makes it unclear to the user that they need to 
press a button.  Is there any way to change the cursor manually?  Perhaps in a 
custom action?

Is there a better approach to this?

Thanks,
Matt
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can a wixlib know the referring projects Package Platform?

2011-01-17 Thread Rob Mensching
Not today but we're hitting issues with this in WiX v3.6. Still pondering an
answer...

On Mon, Jan 17, 2011 at 6:56 AM, Maillet, Ed email...@unum.com wrote:

 Hey all,
  I'm trying to setup some conditions in a wixlib and I'm finding that some
 need to be based on the Package Platform attrib on the project that
 references my wixlib.

 How can that be done? The only idea I have seems a bit like a kludge.


 - Ed



 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] how to control File Sequence no in WIX

2011-01-17 Thread Rob Mensching
WiX toolset doesn't expose a method to control the sequence. You can cause
new files to be added to the end of the sequence using the PatchGroup
element. This is important if you use the old MSI patchwiz tools to create
patches (becuase the MSI tools can't handle sequence changes, pyro doesn't
have that problem).

On Mon, Jan 17, 2011 at 1:25 PM, wix user wixuser...@gmail.com wrote:

 Hi,

 I woluld like to know how we can control the file sequence no in the File
 table. If I add newly added file element (with new componet) at the end in
 next version of MSI. Still it is not getting sequence no at the end. This
 breaks the patches.

 Eg. I've a merge module with 50 file. we are using a component per file
 with
 Keypath = yes. this is in the first version of product.
 In the next version of product few files got added, then, in the wix file
 we
 are adding the components for the new files at the end. We've an internal
 logic to compare with base builds. But it is getting the sequence no
 randomly.

 Any advice in this area is appreciated.

 Also is this file sequence no is per Module or per Disk? Please throw some
 light in this area.

 Thanks

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] XmlConfig action not running on patch rollback?

2011-01-17 Thread Rob Mensching
It sounds like you mean uninstall a patch.

Adding custom actions in patches doesn't work out so well. Patches
essentially apply transform to the existing MSI then repair the MSI. In the
case of uninstalling a patch, the transform is removed and the MSI is
repaired. Obviously, if the custom action is removed with the transform then
it has no chance to run.

The Windows Installer does special magic to keep track of the state of the
MSI before and after the transform so they can properly remove data.

On Mon, Jan 17, 2011 at 3:37 PM, David Rickard (USA) davri...@microsoft.com
 wrote:

 Just tried with WIX 3.6.1314. Same behavior.

 -Original Message-
 From: David Rickard (USA) [mailto:davri...@microsoft.com]
 Sent: Monday, January 17, 2011 11:35 AM
 To: wix-users@lists.sourceforge.net
 Subject: [WiX-users] XmlConfig action not running on patch rollback?

 I've got the following component:

  Component Id=machine.config.Update
 Guid=573DF5B0-438D-498d-8919-C4B96835C1EF
RegistryKey Root=HKLM Key=[REGISTRYKEY]\Settings\[TITLE]
 Action=createAndRemoveOnUninstall
  RegistryValue Action=write Type=integer Name=MACHINEMEMORYLIMIT
 Value=1 KeyPath=yes/
/RegistryKey
util:XmlConfig
  Id=CacheNode.memoryLimit.add

  
 File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=create
  ElementPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=install
  Value=90 /
util:XmlConfig
  Id=CacheNode.memoryLimit.remove

  
 File=[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config
  Action=delete
  ElementPath=/configuration/system.web/processModel
  VerifyPath=/configuration/system.web/processModel
  Name=memoryLimit
  Node=value
  On=uninstall /
  /Component

 I want to add an attribute on install of the component and remove it on
 uninstall. Now this works just fine when the component is part of a full
 install and uninstall, but does not work as part of a patch. When I apply
 the patch, the component will install, the config edit will occur and the
 registry key will be added. When I roll back the patch, the registry key is
 removed, but the attribute is not removed.

 I checked the logs and the action isn't even attempted. To make sure the
 action actually works I manually edited the config file and ran it on
 install. And it does work then. Also FRAMEWORKDIR is getting set properly on
 both the install and rollback steps. Is there a bug in the WIX utilities? Or
 is there something I'm doing wrong?

 --
 Protect Your Site and Customers from Malware Attacks Learn about various
 malware tactics and how to avoid them. Understand malware threats, the
 impact they can have on your business, and how you can protect your company
 and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users



 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Emailfound in subject - Email found in subject - Email found in subject

2011-01-17 Thread Rob Mensching
The WiX Documentation for FileSearch element has a link to this page:
http://wix.sourceforge.net/manual-wix3/check_the_version_number.htm.

On Mon, Jan 17, 2011 at 7:44 AM, Shaun Hayward shayw...@omnivex.com wrote:

  WiX doesn't do it, the Windows Installer does. WiX is just the language.

 True :-)

 So let me rephrase: I didn't realize that MSI had a way to retrieve the
 DLL's version and compare against it. But since it does, the awesome WiX
 will support it. Does anyone have a WiX sample of how to accomplish this?

 Thanks!
 - Shaun


 Shaun Hayward | Senior Software Developer | Omnivex | 905.761.6640 ext 429
 | www.omnivex.com

 -Original Message-
 From: Rob Mensching [mailto:r...@robmensching.com]
 Sent: Friday, January 14, 2011 11:12 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
 Emailfound in subject - Email found in subject - Email found in subject

 WiX doesn't do it, the Windows Installer does. WiX is just the language.
 smile/

 Check out the FileSearch element.

 On Fri, Jan 14, 2011 at 6:17 PM, Shaun Hayward shayw...@omnivex.com
 wrote:

  I didn't realize WiX had a way to actually retrieve a DLL's version and
  compare against it. I was looking all over for that.
 
  Any chance you have a code sample up on your blog?
 
  And I'll be sure to check out the DTF articles on your blog.
 
  Thanks
  - Shaun
 
  
  From: Christopher Painter [chr...@deploymentengineering.com]
  Sent: Friday, January 14, 2011 7:16 PM
  To: General discussion for Windows Installer XML toolset.
  Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript -
  Emailfound in subject - Email found in subject
 
  Funny you say that,  I was doing some work with KB976477 just today.
 Some
  much
  that I have that KB memorized.
 
  I don't use a CA to detect this hotfix.  I just  use the
  AppSearch/DrLocator/Signature tables to search
  [CommonFilesFolder]\Microsoft
  Shared\Office12 for MSO.DLL version 12.0.6520.5000 or greater.
 
  Rob has made some comments lately about targetting CLR runtime
  versions. Generally I write my custom actions to target .NET 2.0 and set
 up
  the
  DTF CA's to run against CLR 2.0 or 4.0.
 
  Either way I still find myself having to make sure .NET 3.5SP1 and .NET
 4.0
  are
  on my target machines.  For example VSTO AddIns using .NET 4.0 targetting
  Office
  2007 have to have both the 2.0 and 4.0 CLR loaded.  Yeah, seriously.
 
  BTW, there are lot's of articles on DTF over at my blog.
 
 
 
  - Original Message 
  From: Shaun Hayward shayw...@omnivex.com
  To: General discussion for Windows Installer XML toolset.
  wix-users@lists.sourceforge.net
  Sent: Fri, January 14, 2011 5:56:44 PM
  Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email
  found in
  subject
 
  Thanks, Chris!
 
  Funny it should be you that replies. I'm looking at deploying a VSTO
 add-in
  and
  I've read the related articles on your blog. The custom action is to
 check
  for
  the presence of KB976477. I think I've FINALLY found a fool-proof (yeah,
  right)
  way to determine if it (or a newer patch that includes 976477) is
 present.
  (It's
  FOSS, so anyone who is interested can have the code)
 
  So it sounds like C# is just fine. YAY! The DTF classes look REALLY sweet
  in
  comparison to what I'm dealing with in C++ - I just didn't know if I
 should
  feel
  free to use them at this point.
 
  Should the add-in be targeting a specific version of the framework? My
  add-in
  requires .NET Framework 4, and .NET 4 does not necessarily seems to
 include
  full
  compatibility with .NET 2 (so saith the QAs where I work).
 
  Good-bye, C++ Custom Action - hello, C# Custom Action.
 
  Thanks again - you made my week.
  - Shaun
 
  PS: No flack on using InstallScript. Whatever works at the end of the day
  and
  makes your life easy, right?
 
 
 
 
 
 
  -Original Message-
  From: Christopher Painter [mailto:chr...@deploymentengineering.com]
  Sent: Friday, January 14, 2011 6:32 PM
  To: General discussion for Windows Installer XML toolset.
  Subject: Re: [WiX-users] Custom Actions - C++ vs C# vs VBScript - Email
  found in
  subject
 
 
   VB/JScript is still a no go.  The managed blog was ( thankfully ) O.B.E.
  when
  WiX released managed custom action via DTF.
 
  Personally, if I had the C++ chops, had enough reusable libraries and was
  typically shipping unmanaged apps then I probably would be an
 unmanaged
  purist for CA's.   WiX uses C++ in it's custom actions because customers
  might
  not need/want .NET and since the CA's are being used by a very wide
  audience
  it's good to spend the time and make them perfect.
 
  But alas, I've got C# chops, the base class libraries are very powerful
 and
  I
  ship nearly all managed apps.
 
 
  For me, the choice is easy.  For the rare occasion that I don't want a
  dependency on .NET I either  

[WiX-users] Update InstallExecuteSequence Condition Programmatically using DTF

2011-01-17 Thread Castro, Edwin G. (Hillsboro)
I’d like to write a program using DTF to open up a MSI package and 
programmatically update some Conditions in the InstallExecuteSequence table. 
This program be used to update MSI packages before installation. Here’s some 
pseudo code for what I have so far:

using (database = new Database(filePath, DatabaseOpenMode.Transact))
{
query = database.Tables[InstallExecuteSequence].SqlSelectString
using (view = database.OpenView(query))
{
while (record = view.Fetch())
{
try
{
action = record.GetString(Action)
if (action is the action I want)
{
record.SetString(Condition, new condition)
}
}
finally
{
record.Close()
}
}
}
database.Commit()
}

I’m trying to implement this as a PowerShell script so my script doesn’t look 
exactly like the pseudo code above.

Is this going in the correct direction? I have a feeling that this isn’t quite 
right but I don’t know exactly what the missing piece is.

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


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] how to control File Sequence no in WIX

2011-01-17 Thread wix user
Thanks Rob.
Could you please give me more details on how this behaves? Is this sequence
no maintained at module level (we have few merge modules in our product) or
at Disk level or Product level.

Also with this patch group, do we need any changes in the PCP file?

Thanks



On Mon, Jan 17, 2011 at 4:46 PM, Rob Mensching r...@robmensching.com wrote:

 WiX toolset doesn't expose a method to control the sequence. You can cause
 new files to be added to the end of the sequence using the PatchGroup
 element. This is important if you use the old MSI patchwiz tools to create
 patches (becuase the MSI tools can't handle sequence changes, pyro doesn't
 have that problem).

 On Mon, Jan 17, 2011 at 1:25 PM, wix user wixuser...@gmail.com wrote:

  Hi,
 
  I woluld like to know how we can control the file sequence no in the File
  table. If I add newly added file element (with new componet) at the end
 in
  next version of MSI. Still it is not getting sequence no at the end. This
  breaks the patches.
 
  Eg. I've a merge module with 50 file. we are using a component per file
  with
  Keypath = yes. this is in the first version of product.
  In the next version of product few files got added, then, in the wix file
  we
  are adding the components for the new files at the end. We've an internal
  logic to compare with base builds. But it is getting the sequence no
  randomly.
 
  Any advice in this area is appreciated.
 
  Also is this file sequence no is per Module or per Disk? Please throw
 some
  light in this area.
 
  Thanks
 
 
 --
  Protect Your Site and Customers from Malware Attacks
  Learn about various malware tactics and how to avoid them. Understand
  malware threats, the impact they can have on your business, and how you
  can protect your company and customers by using code signing.
  http://p.sf.net/sfu/oracle-sfdevnl
  ___
  WiX-users mailing list
  WiX-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wix-users
 
 


 --
 virtually, Rob Mensching - 
 http://RobMensching.comhttp://robmensching.com/LLC

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Update InstallExecuteSequence Condition Programmatically using DTF

2011-01-17 Thread Christopher Painter

 Generally.  I'll avoid details about what methods to call and stuff and give 
you more high level advice.

I've found it useful to design code like this to be driven off of XML.   For 
example I might right something like

ActionRef Id=ActionICareAbout Condition=MyNewCondition/

This allows me to write methods that do the work and methods that parse the XML 
and call the first methods.  It's almost like creating my own DSL and it's very 
scalable.  In fact much of my work involves parsing WiX fragments and calling 
into InstallShield automation to build up projects.

Or if you only have a few things you need to do  the above element could also 
be 
used to generate a simple update statement.

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



- Original Message 
From: Castro, Edwin G. (Hillsboro) edwin.cas...@fiserv.com
To: General discussion for Windows Installer XML toolset. 
(wix-users@lists.sourceforge.net) wix-users@lists.sourceforge.net
Sent: Mon, January 17, 2011 7:05:53 PM
Subject: [WiX-users] Update InstallExecuteSequence Condition Programmatically 
using DTF

I’d like to write a program using DTF to open up a MSI package and 
programmatically update some Conditions in the InstallExecuteSequence table. 
This program be used to update MSI packages before installation. Here’s some 
pseudo code for what I have so far:

using (database = new Database(filePath, DatabaseOpenMode.Transact))
{
    query = database.Tables[InstallExecuteSequence].SqlSelectString
    using (view = database.OpenView(query))
    {
        while (record = view.Fetch())
        {
            try
            {
                action = record.GetString(Action)
                if (action is the action I want)
                {
                    record.SetString(Condition, new condition)
                }
            }
            finally
            {
                record.Close()
            }
        }
    }
    database.Commit()
}

I’m trying to implement this as a PowerShell script so my script doesn’t look 
exactly like the pseudo code above.

Is this going in the correct direction? I have a feeling that this isn’t quite 
right but I don’t know exactly what the missing piece is.

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


--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



  

--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Update InstallExecuteSequence Condition Programmatically using DTF

2011-01-17 Thread Castro, Edwin G. (Hillsboro)
I'm trying to emulate opening my MSI package with Orca and updating a few rows 
in the InstallExecuteSequence table but programmatically. I just need a nudge 
in the right direction so that I can figure out exactly how DTF is supposed to 
be used in a scenario like this.

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


 -Original Message-
 From: Christopher Painter [mailto:chr...@deploymentengineering.com]
 Sent: Monday, January 17, 2011 5:31 PM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Update InstallExecuteSequence Condition
 Programmatically using DTF
 
 
  Generally.  I'll avoid details about what methods to call and stuff and give
 you more high level advice.
 
 I've found it useful to design code like this to be driven off of XML.   For
 example I might right something like
 
 ActionRef Id=ActionICareAbout Condition=MyNewCondition/
 
 This allows me to write methods that do the work and methods that parse
 the XML and call the first methods.  It's almost like creating my own DSL and
 it's very scalable.  In fact much of my work involves parsing WiX fragments
 and calling into InstallShield automation to build up projects.
 
 Or if you only have a few things you need to do  the above element could
 also be used to generate a simple update statement.
 
 Christopher Painter, Author of Deployment Engineering Blog Have a hot tip,
 know a secret or read a really good thread that deserves attention? E-Mail
 Me
 
 
 
 - Original Message 
 From: Castro, Edwin G. (Hillsboro) edwin.cas...@fiserv.com
 To: General discussion for Windows Installer XML toolset.
 (wix-users@lists.sourceforge.net) wix-users@lists.sourceforge.net
 Sent: Mon, January 17, 2011 7:05:53 PM
 Subject: [WiX-users] Update InstallExecuteSequence Condition
 Programmatically
 using DTF
 
 I’d like to write a program using DTF to open up a MSI package and
 programmatically update some Conditions in the InstallExecuteSequence
 table.
 This program be used to update MSI packages before installation. Here’s
 some
 pseudo code for what I have so far:
 
 using (database = new Database(filePath, DatabaseOpenMode.Transact))
 {
     query = database.Tables[InstallExecuteSequence].SqlSelectString
     using (view = database.OpenView(query))
     {
         while (record = view.Fetch())
         {
             try
             {
                 action = record.GetString(Action)
                 if (action is the action I want)
                 {
                     record.SetString(Condition, new condition)
                 }
             }
             finally
             {
                 record.Close()
             }
         }
     }
     database.Commit()
 }
 
 I’m trying to implement this as a PowerShell script so my script doesn’t look
 exactly like the pseudo code above.
 
 Is this going in the correct direction? I have a feeling that this isn’t quite
 right but I don’t know exactly what the missing piece is.
 
 Edwin G. Castro
 Software Developer - Staff
 Electronic Banking Services
 Fiserv
 Office: 503-746-0643
 Fax: 503-617-0291
 www.fiserv.com
 P Please consider the environment before printing this e-mail
 
 
 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
 
 
 
 
 
 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Update InstallExecuteSequence Condition Programmatically using DTF

2011-01-17 Thread Castro, Edwin G. (Hillsboro)
It turns out I need to execute another view (an update view) once I've found 
the record I'm interested in. Here is the code in all its glory for those who 
are curious. Note: This is written as a PowerShell script.

# $packages is a collection of strings representing the path to the MSI 
packages to update
# $actionPattern is a wildcard pattern for matching the actions I'm interested 
in updating

$PSScriptRoot = Split-Path -Path $MyInvocation.MyCommand.Path
$dtfAssembly = Join-Path -Path $PSScriptRoot -ChildPath 
Microsoft.Deployment.WindowsInstaller.dll
Add-Type -Path $dtfAssembly

foreach ($filePath in $packages) {
$databaseInfo = @{
TypeName = 'Microsoft.Deployment.WindowsInstaller.Database'
ArgumentList = @( $filePath, 
[Microsoft.Deployment.WindowsInstaller.DatabaseOpenMode]::Direct )
}
$database = New-Object @databaseInfo
try {
$searchQuery = 
$database.Tables['InstallExecuteSequence'].SqlSelectString
$searchView = $database.OpenView($searchQuery)
try {
$searchView.Execute()
for ( $record = $searchView.Fetch() ; $record -ne $null ; $record = 
$searchView.Fetch() ) {
try {
$action = $record.GetString('Action')
if ($action -like $actionPattern) {
$updateQuery = UPDATE InstallExecuteSequence SET 
Condition = 'FALSE' WHERE Action = '${action}'
$updateView = $database.OpenView($updateQuery)
try { $updateView.Execute() } finally { if 
($updateView) { $updateView.Close() } }
}
} finally { $record.Close() }
}
} finally { if ($searchView) { $searchView.Close() } }
$database.Commit()
} finally { if ($database) { $database.Close() } }
}

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


 -Original Message-
 From: Castro, Edwin G. (Hillsboro) [mailto:edwin.cas...@fiserv.com]
 Sent: Monday, January 17, 2011 5:06 PM
 To: General discussion for Windows Installer XML toolset. (wix-
 us...@lists.sourceforge.net)
 Subject: [WiX-users] Update InstallExecuteSequence Condition
 Programmatically using DTF
 
 I’d like to write a program using DTF to open up a MSI package and
 programmatically update some Conditions in the InstallExecuteSequence
 table. This program be used to update MSI packages before installation.
 Here’s some pseudo code for what I have so far:
 
 using (database = new Database(filePath, DatabaseOpenMode.Transact)) {
 query = database.Tables[InstallExecuteSequence].SqlSelectString
 using (view = database.OpenView(query))
 {
 while (record = view.Fetch())
 {
 try
 {
 action = record.GetString(Action)
 if (action is the action I want)
 {
 record.SetString(Condition, new condition)
 }
 }
 finally
 {
 record.Close()
 }
 }
 }
 database.Commit()
 }
 
 I’m trying to implement this as a PowerShell script so my script doesn’t look
 exactly like the pseudo code above.
 
 Is this going in the correct direction? I have a feeling that this isn’t 
 quite right
 but I don’t know exactly what the missing piece is.
 
 Edwin G. Castro
 Software Developer - Staff
 Electronic Banking Services
 Fiserv
 Office: 503-746-0643
 Fax: 503-617-0291
 www.fiserv.com
 P Please consider the environment before printing this e-mail
 
 
 --
 Protect Your Site and Customers from Malware Attacks Learn about various
 malware tactics and how to avoid them. Understand malware threats, the
 impact they can have on your business, and how you can protect your
 company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] how to control File Sequence no in WIX

2011-01-17 Thread Rob Mensching
Merge Modules mess up patchwiz (aka: PCP) patching because their file
sequencing is  extremely limited. In fact, there is a tool called melt.exe
in the WiX toolset that converts a Merge Module in to a .wixlib to make it
more consumable for patching.

Sequencing is calculated at the Product level.

On Mon, Jan 17, 2011 at 5:16 PM, wix user wixuser...@gmail.com wrote:

 Thanks Rob.
 Could you please give me more details on how this behaves? Is this sequence
 no maintained at module level (we have few merge modules in our product) or
 at Disk level or Product level.

 Also with this patch group, do we need any changes in the PCP file?

 Thanks



 On Mon, Jan 17, 2011 at 4:46 PM, Rob Mensching r...@robmensching.com
 wrote:

  WiX toolset doesn't expose a method to control the sequence. You can
 cause
  new files to be added to the end of the sequence using the PatchGroup
  element. This is important if you use the old MSI patchwiz tools to
 create
  patches (becuase the MSI tools can't handle sequence changes, pyro
 doesn't
  have that problem).
 
  On Mon, Jan 17, 2011 at 1:25 PM, wix user wixuser...@gmail.com wrote:
 
   Hi,
  
   I woluld like to know how we can control the file sequence no in the
 File
   table. If I add newly added file element (with new componet) at the end
  in
   next version of MSI. Still it is not getting sequence no at the end.
 This
   breaks the patches.
  
   Eg. I've a merge module with 50 file. we are using a component per file
   with
   Keypath = yes. this is in the first version of product.
   In the next version of product few files got added, then, in the wix
 file
   we
   are adding the components for the new files at the end. We've an
 internal
   logic to compare with base builds. But it is getting the sequence no
   randomly.
  
   Any advice in this area is appreciated.
  
   Also is this file sequence no is per Module or per Disk? Please throw
  some
   light in this area.
  
   Thanks
  
  
 
 --
   Protect Your Site and Customers from Malware Attacks
   Learn about various malware tactics and how to avoid them. Understand
   malware threats, the impact they can have on your business, and how you
   can protect your company and customers by using code signing.
   http://p.sf.net/sfu/oracle-sfdevnl
   ___
   WiX-users mailing list
   WiX-users@lists.sourceforge.net
   https://lists.sourceforge.net/lists/listinfo/wix-users
  
  
 
 
  --
  virtually, Rob Mensching - http://RobMensching.com
 http://robmensching.com/LLC
 
 
 --
  Protect Your Site and Customers from Malware Attacks
  Learn about various malware tactics and how to avoid them. Understand
  malware threats, the impact they can have on your business, and how you
  can protect your company and customers by using code signing.
  http://p.sf.net/sfu/oracle-sfdevnl
  ___
  WiX-users mailing list
  WiX-users@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/wix-users
 

 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Update InstallExecuteSequence Condition Programmatically using DTF

2011-01-17 Thread Rob Mensching
I'm curious, why do you need to do this?

On Mon, Jan 17, 2011 at 5:05 PM, Castro, Edwin G. (Hillsboro) 
edwin.cas...@fiserv.com wrote:

 I’d like to write a program using DTF to open up a MSI package and
 programmatically update some Conditions in the InstallExecuteSequence table.
 This program be used to update MSI packages before installation. Here’s some
 pseudo code for what I have so far:

 using (database = new Database(filePath, DatabaseOpenMode.Transact))
 {
query = database.Tables[InstallExecuteSequence].SqlSelectString
using (view = database.OpenView(query))
{
while (record = view.Fetch())
{
try
{
action = record.GetString(Action)
if (action is the action I want)
{
record.SetString(Condition, new condition)
}
}
finally
{
record.Close()
}
}
}
database.Commit()
 }

 I’m trying to implement this as a PowerShell script so my script doesn’t
 look exactly like the pseudo code above.

 Is this going in the correct direction? I have a feeling that this isn’t
 quite right but I don’t know exactly what the missing piece is.

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



 --
 Protect Your Site and Customers from Malware Attacks
 Learn about various malware tactics and how to avoid them. Understand
 malware threats, the impact they can have on your business, and how you
 can protect your company and customers by using code signing.
 http://p.sf.net/sfu/oracle-sfdevnl
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Change/Repair requires the msi with exactly the same name as it is when installed?

2011-01-17 Thread Elfe Xu
Hi all,

I have a foo.msi in my temp folder when I install my foo application, with 
feature A.
Then I go to the Add-Remove Program control panel, click Change, and want to 
install a new feature B of foo application.
I got two problems then:
1, the UAC does not popup, when I click Change button and start to install 
feature B. This will cause some custom actions fail because it does not have 
enough privilege.
2, A message dialog pop up ask:
The feature you are trying to use is on a network resource that is unavailable. 
Click OK to try again, or enter an alternate path to a folder containing the 
installation package foo.msi in the box below: ...
I've already deleted my foo.msi in temp folder, so I point to 
c:\windows\installer\245bfd.msi (the copy MSI created during installation), but 
the dialog still shows.

I tried rename the 245bfd.msi to foo.msi, and the UAC pops up, the change 
success.

So the question: why installer requires the MSI with exactly the same name?
Seems change is really a common scenario, and most time customer will not have 
the msi file by hand, but let windows installer use the cached one. How does 
this work? Am I doing anything wrong, that breaks this scenario?

Thanks,
-Elfe
--
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users