Re: [WiX-users] Using Lux and Nit

2015-02-10 Thread Phill Hogland
 if you had to maintain a separate test project, it's not a big burden.

While thinking about this issue yesterday, I came to a similar conclusion. 
I have a single 'toolbox' Extension project(s) to which I add different
Compiler Extension implementations as partial classes (and CAs for both
Win32 and x64 which read custom tables created by the Extension).  So I plan
to create test projects to host the Lux tests and run them as part of the CA
build process.  That way I can create a Lux test which fails until the CA is
implemented correctly.  When the test succeeds, then the Extension DLL will
be compiled and deployed to the build system.  I concluded that trying to do
the CA unit testing while building the Production projects, was
unnecessarily complex and too far removed from where the indicated problem
in the CA should be addressed.  Bob thanks again for your assistance.  




--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599173.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Bob Arnson
On 09-Feb-15 14:47, Nick Ramirez wrote:
 As far as a robust test, this is pretty weak. Setting a property is just a
 small part of the install process. But the sum total of an installation is
 to put files on the system, configure the registry, install and start
 services, etc.
You're mixing unit testing, which Lux supports, with system or 
integration testing. Two different things, both good.

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


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Bob Arnson

On 09-Feb-15 13:18, Phill Hogland wrote:
 MSBuild project which would do the Test, and then if no failures, build the
 Package, however my observation is that I can only get either the Test
 'build' or the 'package' build to work.
That seems likely. MSBuild projects generally have one output so 
chaining them isn't really fitting into its mental model. Ideally, 
custom actions are all data-driven so they don't need a bunch of other 
authoring so if you had to maintain a separate test project, it's not a 
big burden. That's what I did on the projects where I used Lux: I had to 
test fresh install and upgrade, so I had .wixprojs to build the .msi 
package for system testing and a .wixproj that built the Lux tests using 
the same authoring as the system test packages.

 On another topic, as I think about how to integrate Lux into my production
 projects, my Custom Actions are in a wixlib as part of a Compiler Extension.
 My directory tree is defined in another wixlib, much like the CommonFolders
 used in WixBA.  The lux docs say that the lux authoring should be in a
 separate module which has the directory tree.  How is this done in the
 context of using CAs in a Compiler Extension?
You can have references to the extension so the symbols are available 
when the Lux targets build the test package. That note in the doc is 
about having your Product and Directory elements mixed together; since 
WiX pulls in whole fragments, you'd end up with the real Product and the 
test Product in view and linking would fail.

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


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Phill Hogland
With the recent build of wix 3.10.0.1403 I was able to get my simple Lux/Nit
test project to work.  Thanks!  I initially used a .cmd file to call lux,
candle, light, and then nit.  But I prefer to build my projects using
MSBuild, so I figured out how to use the 'Test' Target (and the
BuildTestPackage Target).  I had planed to insert this call into a larger
MSBuild project which would do the Test, and then if no failures, build the
Package, however my observation is that I can only get either the Test
'build' or the 'package' build to work.  If I use the following in a MSBuild
project file, then the first target 'RunLuxTests' results in building
TestLux_test.msi and succesfully running Nit, but the second target
'BuildProject' does not product TestLux.msi package, because all outputs are
up to date (even though TestLux.msi does not exist at the output.  If I
change ParallelBuildDependsOn to reverse the order then TestLux.msi is
created, but TestLux_test.msi is never created because all outputs are up to
date.  I also tried to assign separate TargetPath properties based on
defined metadata, but the msi I was still not built to the specified
TargetPath. 

  PropertyGroup
   
ParallelBuildDependsOnRunLuxTests;BuildProject/ParallelBuildDependsOn
  /PropertyGroup

  ItemGroup
BuildProject
Include=$(RdpSvnInstallsDirSl)Research\TestLux\TestLux.wixproj 
  BuildInParallelfalse/BuildInParallel
  Platformx86/Platform
/BuildProject
  /ItemGroup
  
  Target Name=ParallelBuild
DependsOnTargets=$(ParallelBuildDependsOn)/
  
  Target Name=BuildProject
MSBuild Projects=@(BuildProject)
BuildInParallel=%(BuildInParallel)
ContinueOnError=false
Targets=$(Targets)
Properties=Configuration=$(Configuration);Platform=%(Platform)
/MSBuild
  /Target
  Target Name=RunLuxTests
MSBuild Projects=@(BuildProject)
BuildInParallel=%(BuildInParallel)
ContinueOnError=false
Targets=Test
Properties=Configuration=$(Configuration);Platform=%(Platform)
/MSBuild
  /Target

On another topic, as I think about how to integrate Lux into my production
projects, my Custom Actions are in a wixlib as part of a Compiler Extension. 
My directory tree is defined in another wixlib, much like the CommonFolders
used in WixBA.  The lux docs say that the lux authoring should be in a
separate module which has the directory tree.  How is this done in the
context of using CAs in a Compiler Extension?

Thanks for any comments!



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599162.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Phill Hogland
It makes sense to me that lux has value when implementing a data driven CA
pattern.  I don't expect lux to cover the areas that those other tools
target, but thanks for that information.
http://robmensching.com/blog/posts/2007/9/13/zataoca-custom-actions-should-be-data-driven/




--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599164.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Phill Hogland
Your comments were helpful.  I think I have some ideas on how to address my
concern and take advantage of the information that you added.



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599165.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-02-09 Thread Nick Ramirez
Lux, as I understand it, tests that a property has a particular value after a
custom action has run.

As far as a robust test, this is pretty weak. Setting a property is just a
small part of the install process. But the sum total of an installation is
to put files on the system, configure the registry, install and start
services, etc.

I would say, throw away Lux. Let's, as a WiX community, move beyond it.
Instead, let's look into tools like TestKitchen, Vagrant, Chef and
ServerSpec (especially ServerSpec). 

http://serverspec.org/resource_types.html

The testing flow would go something like:

1. Spin up a new virtual machine (automated with Vagrant)
2. Install the MSI package (using Chef or something similar)
3. Call your acceptance tests with ServerSpec, which would have tests such
as: does this file exist after installation? Does this XML file contain some
expected string? Did a service get installed and is it running?
4. Tests pass, destroy VM




--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599163.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-01-27 Thread Phill Hogland
I'm sorry for the delay in getting back to this subject, but since I just
coded up my first semi-custom action (into a CompilerExtension) I wanted to
see if I could also understand how to use lux.  While I have wix 3.9 RC2
installed, I am getting the same nit errors (NIT8104) posted before.  I
found the related msi log and it includes the lines:
SFXCA: Ensure that the proper version of the .NET Framework is installed, or
that there is a matching supportedRuntime element in CustomAction.config. If
you are binding to .NET 4 or greater add
useLegacyV2RuntimeActivationPolicy=true to the startup element.
MSI (s) (B8!58) [13:54:14:522]: Closing MSIHANDLE (8) of type 790531 for
thread 4184
CustomAction WixRunImmediateUnitTests returned actual error code 1603

Property(S): MsiNetAssemblySupport = 4.0.30319.18408
Property(S): MsiWin32AssemblySupport = 6.1.7601.17514

This is on a Win7SP1 x64 with .Net 3.51 and 4.0

I did not find a CustomAction.config in the %wix%\bin folder.  Nit seems to
use DTF, which I have not used.  Is there a configuration setp I should be
doing to get nit to work?

This  post
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Nit-error-while-trying-to-run-Lux-tests-td7588631.html
  
an this  post
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/SFXCA-Failed-to-get-requested-CLR-info-td7581890.html#a7581891
 
, seem to have the same issue, but I am not sure what I should do to resolve
the issue.  Thanks for your assistance!





--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599043.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2015-01-27 Thread Phill Hogland
I realized that I should be using 3.10 to pick up the fix for nit.  I
installed 3.10.1124.0, but get the same errors, with the same message in the
msi log.

SFXCA: Failed to get requested CLR info. Error code 0x80131700



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7599045.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-11 Thread Phill Hogland
Thanks for the info.

I started over with a new VS2013 msi setup template project.  I added code,
essentially from Rob's remember property pattern post, and then used the
same command line file I shared earlier.  I now get further down the path
successfully producing the xxx_test.msi (and not seeing that Light error,
which proves that it had something to do with my other test project and not
the tools).  I can also run Nit now but it always reports that the test
failed.   I feel like I am much closer to a working sample, but I set it
aside to work on some production issues.  I will come back to it later. 
Thanks for the help!

This results in NIT8104: Package Failed: Fatal error during installation
NIT8102 1 tests failed. 0 tests passed.

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
 xmlns:lux=http://schemas.microsoft.com/wix/2009/Lux;
 
  Fragment
Directory Id=TARGETDIR Name=SourceDir
  Directory Id=ProgramFilesFolder
Directory Id=INSTALLFOLDER Name=TestLux /
  /Directory
/Directory
  /Fragment

  Fragment
Property Id=REMEMBERME Value=Test
  RegistrySearch Id='RememberProperty' Root='HKCU'
Key='SOFTWARE\Wix\DemoRememberProperty' Name='Remembered' Type='raw' /
/Property
  /Fragment

  Fragment
CustomAction Id='SaveCmdLineValue' Property='CMDLINE_REMEMBERME'
Value='[REMEMBERME]' Execute='firstSequence' /
CustomAction Id='SetFromCmdLineValue' Property='REMEMBERME'
Value='[CMDLINE_REMEMBERME]' Execute='firstSequence' /
InstallUISequence
  Custom Action='SaveCmdLineValue' Before='AppSearch' /
  Custom Action='SetFromCmdLineValue'
After='AppSearch'CMDLINE_REMEMBERME/Custom
/InstallUISequence
InstallExecuteSequence
  Custom Action='SaveCmdLineValue' Before='AppSearch' /
  Custom Action='SetFromCmdLineValue'
After='AppSearch'CMDLINE_REMEMBERME/Custom
/InstallExecuteSequence
  /Fragment

  Fragment
lux:UnitTest CustomAction=SaveCmdLineValue
Property=CMDLINE_REMEMBERME Value=Test Operator=equal /
  /Fragment
/Wix



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7597255.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-11 Thread Bob Arnson
On 11-Oct-14 12:59, Phill Hogland wrote:
 This results in NIT8104: Package Failed: Fatal error during installation
Yet another bug. The Lux custom actions are written in DTF and they 
aren't set up for .NET 4.0. I have a pull request ready: 
https://github.com/wixtoolset/wix3/pull/160

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


--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-10 Thread Bob Arnson
On 09-Oct-14 19:15, Phill Hogland wrote:
 I see that I still have the -ext WixUtilExtension on the above candle
 command.  I removed it but Light still fails saying that 'User'  Table is
 not defined.  I can't find anything else in my project related to the User
 table.  When I first started this project I added a reference to my PkgLib
 in which I keep my common folder declarations, common remember properties
 fragments, and localized strings.  One of my property fragments needed the
 User table, so that is where I think this issue got started.  But I removed
 all  of that stuf, deleted the bin and obj files, and did a rebuild.
I can't explain that. Lux works by scanning every input you give it for 
tests, generating a test Product that references those tests, and 
building the Product with the inputs. It relies on WiX to do its normal 
linking, pulling in only those fragments that are tests or the custom 
actions that are tested. But since everything is based on linking in 
whole fragments, you can pull in more than intended, if the fragments 
are bigger than necessary (i.e., fragments that include custom action 
definitions and components).

I have found a bug in how the MSBuild targets work. The generator makes 
an assumption about how the Product section is generated that is no 
longer true, after a compiler change (I think in v3.6) created both 
Product and Fragment sections in every Product file authoring. I'll get 
that fixed for WiX v3.10.

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


--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-09 Thread Phill Hogland
I stripped everything out of my 'product' project except what was necessary
to do only the first test in the Simple sample.

  Fragment
CustomAction Id=TestCustomActionSimple Property=SIMPLE
Value=[INSTALLFOLDER] /
InstallExecuteSequence
  Custom Action=TestCustomActionSimple After=InstallFiles /
/InstallExecuteSequence
  /Fragment

  Fragment

lux:UnitTest CustomAction=TestCustomActionSimple Property=SIMPLE
Value=[INSTALLFOLDER] Operator=equal /
  /Fragment

Since building in VS2013 with the Target Test fired after the Target
Build results in the invalid SQL error in Nit, I created a cmd batch file
to mimic the command line instructions in the chm.  Lux and Candle succeed,
but Light fails with LGHT0182 cannot find definition for table User.

I tried to add in the WixUserExtension to both the product project and the
test command lines, and also the name space to each wxs file, but that did
not resolve the problem.  Then I removed it from every location (as my
original product file had code to register with the restart manager, not
really needed for this test.)  Removing all smell of WixUtilExtension from
the project did not resolve the problem and I am stuck on this issue.   I
tried to use the -notidy, but the temp folder is empty, so did not learn any
thing from that.  Also tried -v and -pedantic.  Thanks for any pointers. 
Phill





--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7597196.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-09 Thread Bob Arnson
On 09-Oct-14 14:11, Phill Hogland wrote:
 Since building in VS2013 with the Target Test fired after the Target
 Build results in the invalid SQL error in Nit, I created a cmd batch file
 to mimic the command line instructions in the chm.  Lux and Candle succeed,
 but Light fails with LGHT0182 cannot find definition for table User.
What are your commands? I can use the candle/lux/candle/light technique 
in the doc under Building test packages and it works. Lux.exe is what 
creates the test consumer that pulls in the tests referenced in 
CustomActions.wxs. The test consumer is a new .msi package just for 
running the tests and that's what you compile in the candle/light pair 
at the end.

Nit.exe will fail if you run it against a package that isn't a test 
consumer. (That's badness on my end; it should fail more gracefully.)

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


--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-09 Thread Phill Hogland
Te report of Nit failing, above, is when I added the 'Test' target to my main
project without adding any Lux specific commands.  So while the verbose
MSBuild log that I posted showed that it tried to collect the UnitTest wxs
and compile them, it did not run the linker and produce a different MSI
package.  So Nit ran on the original project msi and produced the error as
you indicated.

My second approach with the cmd file is as follows:

call %wixBin%\lux.exe .\obj\%config%\CustomActions.wixobj -out .\%~n0.wxs
if not %errorLevel%==0 goto :erLux
::This call to Lux is successful producing the wxs file (named the same as
my cmd file (MsiTestProperties_tests.wxs)

call %wixBin%\candle.exe -ext WixLuxExtension -ext WixUtilExtension
.\%~n0.wxs
if not %errorLevel%==0 goto :erCandle
::This call to candle is successful dropping the wixobj in the project
folder (rather than in the obj folder)

call %wixBin%\light.exe -ext WixLuxExtension .\%~n0.wixobj
.\obj\%config%\CustomActions.wixobj
C:\Development\Installs\9.0_Installs\Library\RdpPkgLib\RdpPkgLib.wixlib
-out .\bin\%config%\%~n0.msi
if not %errorLevel%==0 goto :erLight
::Light fails indicating that it cannot find the definition of Users table.

Thanks for the help. Phill




--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7597203.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Using Lux and Nit

2014-10-09 Thread Phill Hogland
I see that I still have the -ext WixUtilExtension on the above candle
command.  I removed it but Light still fails saying that 'User'  Table is
not defined.  I can't find anything else in my project related to the User
table.  When I first started this project I added a reference to my PkgLib
in which I keep my common folder declarations, common remember properties
fragments, and localized strings.  One of my property fragments needed the
User table, so that is where I think this issue got started.  But I removed
all  of that stuf, deleted the bin and obj files, and did a rebuild. 



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Using-Lux-and-Nit-tp7597183p7597204.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311iu=/4140/ostg.clktrk
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Using Lux and Nit

2014-10-08 Thread Phill Hogland
I am looking for advice on how to use Lux and Nit.  I have read the chm docs
and the two posts to Joy of Setups.  I have also reviewed the sample
projects in the source and looked at the lux related targets in the source
code.  I have tried several approaches to using Lux without success, so I
created a very simple MSI project which builds successfully.

I then added the code from the lux samples and got the project to
successfully build.  When I add a DependsOnTarget='Test' to my Target which
runs AfterTarget=Build then it calls _ScanForUnitTests and then
_GenerateTestConsumer and calls Lux.  But when Nix is then launched it fails
as follows:

Target Test in file C:\Program Files
(x86)\MSBuild\Microsoft\WiX\v3.x\Lux.targets from project
C:\Development\Installs\Research\MsiTestProperties\MsiTestProperties.wixproj
(target RpdSummary depends on it):
Task Nit
Task
Parameter:TestPackages=C:\Development\Installs\Research\MsiTestProperties\bin\Release\MsiTestProperties.msi
Task Parameter:ToolPath=C:\Program Files (x86)\WiX Toolset 
v3.9\bin\
Command:
C:\Program Files (x86)\WiX Toolset v3.9\bin\Nit.exe
C:\Development\Installs\Research\MsiTestProperties\bin\Release\MsiTestProperties.msi
Windows Installer XML Toolset Unit Test Runner version 
3.9.1006.0
Copyright (c) Outercurve Foundation. All rights reserved.
nit.exe(0,0): error NIT0001: SQL query syntax invalid or unsupported.
Exception Type:
Microsoft.Deployment.WindowsInstaller.BadQuerySyntaxException
Stack Trace:
   at 
Microsoft.Deployment.WindowsInstaller.Database.OpenView(String
sqlFormat, Object[] args)
   at
Microsoft.Deployment.WindowsInstaller.Database.ExecuteStringQuery(String
sql, Record record)
   at
Microsoft.Deployment.WindowsInstaller.Database.ExecuteStringQuery(String
sqlFormat, Object[] args)
   at 
Microsoft.Tools.WindowsInstallerXml.Lux.TestRunner.RunTests(Int32
passes, Int32 failures)
   at Microsoft.Tools.WindowsInstallerXml.Lux.Nit.Run(String[] 
args)
The command exited with code 1.
Done executing task Nit -- FAILED.
Done building target Test in project MsiTestProperties.wixproj --
FAILED.

Here is my CustomAction.wxs file (mostly lifted from the wix source):
?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
 xmlns:lux=http://schemas.microsoft.com/wix/2009/Lux;
 

  Fragment
CustomAction Id=TestCustomActionSimple Property=SIMPLE
Value=[INSTALLFOLDER] /
CustomAction Id=TestCustomActionSimpleNumber Property=SIMPLENUMBER
Value=1 /
CustomAction Id=TestCustomActionMultiValue Property=MULTIVALUE
Value=1*[INSTALLFOLDER]*WIXEAST /
CustomAction Id=TestCustomActionNameValuePairs
Property=NAMEVALUEPAIRS
Value=InstallationRoot#[INSTALLFOLDER]#Developers#WIXEAST /

InstallExecuteSequence
  Custom Action=TestCustomActionSimple After=InstallFiles /
  Custom Action=TestCustomActionSimpleNumber
After=TestCustomActionSimple /
  Custom Action=TestCustomActionMultiValue
After=TestCustomActionSimpleNumber /
  Custom Action=TestCustomActionNameValuePairs
Before=InstallFinalize /
/InstallExecuteSequence
  /Fragment

  Fragment

lux:UnitTest CustomAction=TestCustomActionSimple Property=SIMPLE
Value=[INSTALLFOLDER] Operator=equal /
lux:UnitTest CustomAction=TestCustomActionSimpleNumber
Property=SIMPLENUMBER Value=1 /

lux:Mutation Id=SimulateDiskFull
  lux:UnitTest Id=DiskFullSimple
CustomAction=TestCustomActionSimple Property=SIMPLE
Value=[INSTALLFOLDER] Operator=equal /
  lux:UnitTest Id=DiskFullSimpleNumber
CustomAction=TestCustomActionSimpleNumber Property=SIMPLENUMBER
Value=1 /
/lux:Mutation

lux:Mutation Id=SimulateUpgrade
  lux:UnitTest CustomAction=TestCustomActionMultiValue
Property=MULTIVALUE ValueSeparator=*
lux:ConditionVersionNT/lux:Condition

lux:UnitTest Index=0 Value=INTENTIONAL_FAILURE /
lux:UnitTest Index=1 Value=[INSTALLFOLDER]
  lux:ConditionNOT Installed/lux:Condition
/lux:UnitTest
lux:UnitTest Index=2 Value=WIXEAST /
  /lux:UnitTest
/lux:Mutation

lux:Mutation Id=SimulateUpgradeFailure
  lux:UnitTest CustomAction=TestCustomActionNameValuePairs
Property=NAMEVALUEPAIRS NameValueSeparator=#
lux:UnitTest Index=InstallationRoot Value=[INSTALLFOLDER] /
lux:UnitTest Index=Developers Operator=caseInsensitiveNotEqual
Value=WIXWEST /
  /lux:UnitTest
/lux:Mutation
  /Fragment
/Wix

And my 'product' file includes this:
CustomActionRef Id=TestCustomActionSimple /
CustomActionRef Id=TestCustomActionMultiValue /
CustomActionRef Id=TestCustomActionNameValuePairs /

When I added the Lux 'Test' target, I was expecting it to generate a msi
with the name $(OutputName)_test.msi, but it builds the lux