[WiX-users] Custom Tasks and WixTasks.dll dependency
Hey all, I have a custom Heat task, aka. a class derived from HeatTask. It works fine under Wix3.5 and Wix3.6 in Visual Studio 2008. A problem arises is under Wix3.6 and VS2012. When building in VS2012, the WixTasks.dll dependency can't be found. It would appear (from using ProcMon) that in VS2008, Votive (or something) is loading the WixTasks as part of its operation thus when my custom task runs at build time, the dll is found to be already loaded. That's isn't the case in VS2012. The doesn't provide a like element to help the dependencies be located. I'd rather not be forced into trying to put all the WiX dependencies into the GAC or the IDE directory for obvious maintenance reasons. So, what is the proper way to get a custom task to work when it has dependencies that aren't in the GAC, probe path, etc. - Ed -- Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix's IIS extension. How to set "Limit Interval (minutes)" on an App Pool
Another option is to use the wix CAQuietExec to invoke the appcmd. This way you don't have to make your own full blown CA. This is for the enable32BitAppOnWin64 but the concept applies to any of the iis setting Wix can't do by default. -Original Message- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Friday, January 18, 2013 12:02 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set "Limit Interval (minutes)" on an App Pool I also had to create a new custom action for IIS, setting the enable32BitAppOnWin64 true or false based on the bitness of the OS, if your WIX installer was a 32 bit installer it would ALWAYS set this to true. There are 2 C# functions, one to set the enable32BitAppOnWin64 and the other to determine the bitness of the OS. I would call this custom action: CA: Setting enable32BitAppOnWin64 for TITUS Application Pool... NOT Installed NOT Installed /// /// Enable32BitApplicationPool sets the App Pool propery enable32BitAppOnWin64 /// true or false depending on the bitness of the OS /// /// /// ActionResult.Success [CustomAction] public static ActionResult Enable32BitApplicationPool(Session session) { try { if (session == null) { throw new ArgumentNullException("session"); } string tempString = (GetSessionProperty(session, "CustomActionData", false)); string[] parts = tempString.Split(new[] { '|' }); string applicationPool = parts[0]; // which is [WEB_SITE_NAME] the name of the web app pool as well const string quote = "\""; string cmdLineParameters = "set apppool /apppool.name:" + quote + applicationPool + quote + " /enable32BitAppOnWin64:false"; var cmdLineExe = Environment.GetFolderPath(Environment.SpecialFolder.System) + "\\inetsrv\\appcmd.exe"; // Prepare the process to run var startInfo = new ProcessStartInfo { UseShellExecute = true, Arguments = cmdLineParameters, FileName = cmdLineExe, WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true }; // Run the external process & wait for it to finish using (Process proc = Process.Start(startInfo)) { proc.WaitForExit(); } } catch (Exception ex) { MessageBox.Show("Enable32BitApplicationPool failed: " + ex.Message, "Custom action exception error...", MessageBoxButtons.OK, MessageBoxIcon.Error); } return ActionResult.Success; } /// /// Detects whether or not the OS is 64 or 32 bit /// /// private static bool Is64BitWindows() { return Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)); } Hope this helps out... -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: January-18-13 11:45 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set "Limit Interval (minutes)" on an App Pool Or better, just add the missing setting to the WiX CA. I can't image it's that much work... certainly less than creating a whole new CA. On Thu, Jan 17, 2013 at 10:54 PM, Neil Sleightholm wrote: > Looking at the source I don't think it has been implemented. > > You could try adding a custom action to set it or write the entry in > to ApplicationHost.config ( > http://www.iis.net/configreference/system.applicationhost/applicationp > ools/add/cpu > ) > > Neil > > -Original Message- > From: JohnB [mailto:john.bu...@telvent.com] > Sent: 18 January 2013 00:30 > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Wix's IIS extension. How to set "Limit Interval > (minutes)" on an App Pool > > In IIS 7, an App Pool has a settings called "Limit Interval (minutes)" > (aka "resetInterval"). I can't seem to find a way to set this in Wix. > I've tried the WebAppPool element's RefreshCpu, RecycleMinutes, and > several other attributes with no luck. Is there a way? Here's a > screen shot of what I mean. Thanks. > > < > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n75 > 82998/2013-01-17_17h09_14.png > > > > > > -- > View this message in context: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-s-II > S-extension-How-to-set-Limit-Interval-minutes-on-an-App-Pool-tp7582998 > .html Sent from the wix-users mailing list archive at Nabble.com. > > > --
Re: [WiX-users] Wix 3.7 Woes with VS2008
3.5 SP1 is installed. I turned on the fusion log and found the entry below. Not quite sure what to make of it. Running the candle.exe command-line that VS2008 produces directly works with entries indicating v4.0.30319 is being used. So this *feels* like, VS2008 is using CLR2 and candle.exe wants CLR4 and somehow the way VS2008 launches candle.exe keeps CLR2 in play? I'm reaching... *** Assembly Binder Log Entry (12/31/2012 @ 9:12:23 AM) *** The operation failed. Bind result: hr = 0x8013101b. No description available. Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll Running under executable C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = LOG: Where-ref bind. Location = C:\Program Files\WiX Toolset v3.7\bin\candle.exe LOG: Appbase = file:///C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = NULL Calling assembly : (Unknown). === LOG: This bind starts in LoadFrom load context. WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load(). LOG: Using application configuration file: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe.Config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Attempting download of new URL file:///C:/Program Files/WiX Toolset v3.7/bin/candle.exe. LOG: Assembly download was successful. Attempting setup of file: C:\Program Files\WiX Toolset v3.7\bin\candle.exe LOG: Entering run-from-source setup phase. ERR: Error extracting manifest import from file (hr = 0x8013101b). ERR: Failed to complete setup of assembly (hr = 0x8013101b). Probing terminated. -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Friday, December 28, 2012 5:45 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix 3.7 Woes with VS2008 Is the NETFX 3.5 installed on that machine? If so, can you try running with fusion logging turned on? That should pinpoint the assembly causing the problem. On Fri, Dec 28, 2012 at 12:44 PM, Maillet, Ed wrote: > A bit more details. > Wix 3.6.3303.1 works just fine on the same project. Something got broke > with Wix3.7. Haven't quite figured out what yet. > > The Wix 3.7.1224.0 build is the one that fails. The RC 3.7.1119.0 fails > differently: > > The "ReadRegistry" task could not be loaded from the assembly C:\Program > Files\MSBuild\..\WiX Toolset v3.7\bin\WixTasks.dll. Could not load file or > assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\WixTasks.dll' or > one of its dependencies. This assembly is built by a runtime newer than the > currently loaded runtime and cannot be loaded. Confirm that the > declaration is correct, and that the assembly and all its dependencies are > available. C:\Program Files\MSBuild\Microsoft\WiX\v3.x\wix200x.targets > > > I did get error message on another machine with Wix 3.7.1224.0 installed > from VS2008: > Problem signature: > Problem Event Name: CLR20r3 > Problem Signature 01: devenv.exe > Problem Signature 02: 9.0.30729.1 > Problem Signature 03: 488f2b50 > Problem Signature 04: mscorlib > Problem Signature 05: 2.0.0.0 > Problem Signature 06: 503f022f > Problem Signature 07: 1c8b > Problem Signature 08: b > Problem Signature 09: System.BadImageFormatException > OS Version: 6.1.7600.2.0.0.256.4 > Locale ID: 1033 > > Additional information about the problem: > LCID: 1033 > > - Ed > > > > -Original Message- > From: Maillet, Ed > Sent: Friday, December 28, 2012 11:09 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Wix 3.7 Woes with VS2008 > > Hey all, > I'm trying to build an existing wixproj in VS2008 that was created using > Wix3.5. > > When I build in Visual Studio, Visual Studio simple dies (ie. The process > gets removed from the process list and the UI disappears from the screen). > > When I build using devenv from the command-line, I do get an error message: > Could not load file or assembly 'file:///C:\Program Files\WiX Toolset > v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by > a runtime newer than the currently loaded runtime and cannot be loaded. > > I made of copy of the code base and upgraded it to VS2012. Building in > VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an > option in the actual code base. > > I have .NET 4.5 installed on the machine and it's Windows 7 SP1. >
Re: [WiX-users] Wix 3.7 Woes with VS2008
A bit more details. Wix 3.6.3303.1 works just fine on the same project. Something got broke with Wix3.7. Haven't quite figured out what yet. The Wix 3.7.1224.0 build is the one that fails. The RC 3.7.1119.0 fails differently: The "ReadRegistry" task could not be loaded from the assembly C:\Program Files\MSBuild\..\WiX Toolset v3.7\bin\WixTasks.dll. Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\WixTasks.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. Confirm that the declaration is correct, and that the assembly and all its dependencies are available. C:\Program Files\MSBuild\Microsoft\WiX\v3.x\wix200x.targets I did get error message on another machine with Wix 3.7.1224.0 installed from VS2008: Problem signature: Problem Event Name: CLR20r3 Problem Signature 01: devenv.exe Problem Signature 02: 9.0.30729.1 Problem Signature 03: 488f2b50 Problem Signature 04: mscorlib Problem Signature 05: 2.0.0.0 Problem Signature 06: 503f022f Problem Signature 07: 1c8b Problem Signature 08: b Problem Signature 09: System.BadImageFormatException OS Version: 6.1.7600.2.0.0.256.4 Locale ID:1033 Additional information about the problem: LCID: 1033 - Ed -Original Message- From: Maillet, Ed Sent: Friday, December 28, 2012 11:09 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Wix 3.7 Woes with VS2008 Hey all, I'm trying to build an existing wixproj in VS2008 that was created using Wix3.5. When I build in Visual Studio, Visual Studio simple dies (ie. The process gets removed from the process list and the UI disappears from the screen). When I build using devenv from the command-line, I do get an error message: Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. I made of copy of the code base and upgraded it to VS2012. Building in VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an option in the actual code base. I have .NET 4.5 installed on the machine and it's Windows 7 SP1. - Ed -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.7 Woes with VS2008
Hey all, I'm trying to build an existing wixproj in VS2008 that was created using Wix3.5. When I build in Visual Studio, Visual Studio simple dies (ie. The process gets removed from the process list and the UI disappears from the screen). When I build using devenv from the command-line, I do get an error message: Could not load file or assembly 'file:///C:\Program Files\WiX Toolset v3.7\bin\candle.exe' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded. I made of copy of the code base and upgraded it to VS2012. Building in VS2012 works just fine. Unfortunately, doing that upgrade for real isn't an option in the actual code base. I have .NET 4.5 installed on the machine and it's Windows 7 SP1. - Ed -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj
It perhaps does in part by accident!? You can use the DTE interfaces to add a reference to a Project if you have both the wix project and the reference project objects. Would DTE automation fall as a feature request or would it be considered too far off the beat path? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Thursday, August 30, 2012 10:19 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj Does Votive even support DTE? On Thu, Aug 30, 2012 at 8:20 AM, Maillet, Ed wrote: > Hey all, > I'm trying to figure out, in Visual Studio 2008, how to add a reference > to an Extension for a given wix project using the DTE (via > IWizard.RunFinished) application. > > The WixProjectNode doesn't have a references property like other Visual > Studio project types. > > I found this article suggesting a work around (which is really clumsy) > > http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/c4070ea5-044e-4524-bb96-7e77949ee61c/ > > It basically says unload the project and then do Project.AddNewImport. > > What's the proper way to do it? > > - Ed > > -- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > ___ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > -- virtually, Rob Mensching http://RobMensching.com LLC -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.5 DTE automation - Add Extension Reference to wixproj
Hey all, I'm trying to figure out, in Visual Studio 2008, how to add a reference to an Extension for a given wix project using the DTE (via IWizard.RunFinished) application. The WixProjectNode doesn't have a references property like other Visual Studio project types. I found this article suggesting a work around (which is really clumsy) http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/c4070ea5-044e-4524-bb96-7e77949ee61c/ It basically says unload the project and then do Project.AddNewImport. What's the proper way to do it? - Ed -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Compiler Extensions and Component Rules
Hey all, I'm trying to understand how component rules apply in the following scenario in Wix 3.5: Due to installing items into the GAC, I need to schedule the RemoveExistingProducts after InstallFinalize per http://support.microsoft.com/kb/905238 Thus I have: I have a Component using the iis:Certificate compiler extension Here's the use case: The v1 installer puts the cert in the machine store. The cert needs to be updated since it going to expire. The v2 installer is a Major Upgrade and needs to install the updated cert (same cert name but with new expiration date) How does that work with component rules? Should the component ID change between the two installers? - Ed -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.6 Burn MsiPackage Basic Quesiton
Hey all, I'm using Burn in Wix 3.6.1615.0 and just trying to understand the basics. I have two MSIs (A & B) and I'm using the MsiPackage element as such: http://server:8077/BurnA.msi"; Cache="no" Compressed="no"> http://server:8077/BurnB.msi"; Cache="no" Compressed="no"> Since SourceFile attribute references the actual msi and the download url does also, can the MSIs differ? The idea being that when the bootstrap was build MSI A v1.0 was the latest but now MSI A v1.1 is released. I don't want to have to update the bootstrapper. I just want it to get and run the MSI located at the download URL (no matter what MSI it is). I've play around a little bit but get the error: Error 0x80091007: Hash mismatch for payload Seems like that's due to MSI A v1.0 versus MSI A v1.1 Can the MsiPackage element be made to run whatever MSI is located at the download URL regardless of anything else? -- Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] ConfigureIIs won't create app pool alone (bug or by design)
Hey all, The ConfigurationIIs CA requires one of the following tables in order to run: (from the source) IIsWebSite, IIsFilter, IIsProperty, IIsWebServiceExtension This presents a problem with an MSI needing to only create an app pool since only the IIsAppPool table gets created. That a bug? I'm using Wix 3.5.2519.0. - Ed -- What You Don't Know About Data Connectivity CAN Hurt You This paper provides an overview of data connectivity, details its effect on application quality, and explores various alternative solutions. http://p.sf.net/sfu/progress-d2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] GAC: Sometimes yes; sometimes no
That was it. You are my hero for the day. -Original Message- From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] Sent: Monday, February 28, 2011 11:20 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] GAC: Sometimes yes; sometimes no Although you're not getting the behaviour consistently, the symptoms sounds like this problem http://support.microsoft.com/kb/905238 -Original Message- From: Maillet, Ed [mailto:email...@unum.com] Sent: 28 February 2011 15:25 To: wix-users@lists.sourceforge.net Subject: [WiX-users] GAC: Sometimes yes; sometimes no Hey all, I've got an MSI that is a MajorUpgrade to an existing product. The existing product has assemblies in the GAC and the new MSI needs to replace them. Using the standard Wix file element it all works great except if some app (e.g. w3wp.exe) is using the assembly in the GAC needing to be replaced. I found this article and I'm seeing the 'temp' folder and its contents. I see the 'tmp' left behind but its empty and the new assembly is nowhere to be found. http://blogs.msdn.com/b/junfeng/archive/2006/11/17/gac-temp-and-tmp.aspx What's worse is the MSI indicates success yet the GAC file is totally missing in action. Reboots of the machine didn't resolve the problem. Any ideas? - Ed - - Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] GAC: Sometimes yes; sometimes no
Hey all, I've got an MSI that is a MajorUpgrade to an existing product. The existing product has assemblies in the GAC and the new MSI needs to replace them. Using the standard Wix file element it all works great except if some app (e.g. w3wp.exe) is using the assembly in the GAC needing to be replaced. I found this article and I'm seeing the 'temp' folder and its contents. I see the 'tmp' left behind but its empty and the new assembly is nowhere to be found. http://blogs.msdn.com/b/junfeng/archive/2006/11/17/gac-temp-and-tmp.aspx What's worse is the MSI indicates success yet the GAC file is totally missing in action. Reboots of the machine didn't resolve the problem. Any ideas? - Ed -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] PlugCollectionInto values for VS2010
Does anyone have the VS2010 values handy? The Wix 3.5 help only has the VS2205 and VS2008 values listed. I'm currently using for VS2008: - Ed -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] How to issue a "netsh http add urlacl url=.." command at install time...
Check out the CAQuietExec custom action. -Original Message- From: Gregg Swanson [mailto:gregg.swan...@microsoft.com] Sent: Thursday, February 24, 2011 12:54 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How to issue a "netsh http add urlacl url=.." command at install time... What is the recommended technique to use to enter the following command at install time? netsh http add urlacl url=https://+:443/EnterpriseService/ user=redmond\edmmtsa Thanks, Gregg -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] error LGHT0104
Hey all, All of a sudden I'm getting the following error: C:\Program Files\Windows Installer XML v3.5\bin\WixUtilExtension.dll(0,0): error LGHT0104: Not a valid object file; detail: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 17600. The Light command line is (from the VS output window): C:\Program Files\Windows Installer XML v3.5\bin\Light.exe -cultures:en-us -ext "C:\Program Files\Windows Installer XML v3.5\bin\WixUtilExtension.dll" -out C:\Projects\Temp\Setups\CodeSetService\SetupProject1\bin\Debug\SetupProject1.msi -pdbout C:\Projects\Temp\Setups\CodeSetService\SetupProject1\bin\Debug\SetupProject1.wixpdb obj\Debug\Product.wixobj obj\Debug\Product.Generated.wixobj The setup.wixproj is an empty setup with WixUtilExtension referenced. Any ideas as what to fix? It's like the -ext option isn't doing something right. - Ed -- The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Wix and "tricky" environment variables
Doesn't that only work if you have one version of an assembly? Two Acme.dlls (v1 and v2) in the gac present a problem, doesn't it? -Original Message- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: Friday, February 11, 2011 7:19 AM To: John Robbins; General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and "tricky" environment variables Hi John... Actually, putting your .net pdbs in _NT_SYMBOL_PATH *does* work; that's why I'm trying to do it. http://blog.softwareishardwork.com/2010/02/enable-stack-trace-line-numbers-in.html I came to adding it to my installers after proving that it worked by doing it manually. Your note about keeping the pdbs in reserve for performance reasons is a good one, and I'll keep that in mind. Thanks Mark -Original Message- From: John Robbins [mailto:j...@wintellect.com] Sent: Thursday, February 10, 2011 10:33 PM To: General discussion for Windows Installer XML toolset.; Mark Modrall Subject: RE: [WiX-users] Wix and "tricky" environment variables Mark, As someone who's concentrated on debugging and debuggers his whole career, it warms my heart to hear people talking about _NT_SYMBOL_PATH. :) However, _NT_SYMBOL_PATH is only used by debuggers. The .NET StackTrace class, which is generating the call stacks in your exceptions, will only look for the PDB files in the same directory as the .EXE. So even if you add this to your installer, you still won't get source and line information on any exception stack trace. Also, I recommend that you keep the PDB file installer separate from the main installer. As there's extra file I/O and overhead for reading the PDB files when the exceptions are thrown, you only want to install the PDB files when you are certain you've got a problem and need that information. Hope it helps! John Wintellect http://www.wintellect.com +1-877-968-5528 -Original Message- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: Thursday, February 10, 2011 6:13 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and "tricky" environment variables Well, you caught me flat footed with the App Path stuff, so I could be misunderstanding the Symbol Server stuff :) But here's my understanding of what that's about: 1) Microsoft has a public service that will vend .pdb files for Microsoft components and you can set _NT_SYMBOL_PATH to pull from there 1a) You can set your _NT_SYMBOL_PATH to cache the results from Symbol Server locally if you want with a special syntax 2) If you're using a debugger and interactively watching something, you can use Symbol Server directly without _NT_SYMBOL_PATH 3) For your own symbols you're on your own. Though I gather from your question (SDK vs internal process), there may be a way to register your symbols in the Microsoft Symbol Server. I might be missing something, but it doesn't seem like you can get away from _NT_SYMBOL_PATH entirely. At the least you have to register your symbols with Microsoft and set _NT_SYMBOL_PATH to point at the server. Our use is for logging exception stack traces in a database, not hands-on interactive debugging. The problem is that when you put things in the GAC it's considered bad form (and somewhat convoluted) to put the .pdbs in the GAC too. If the pdbs are lying right next to the .exes and .dbgs, you don't need to use _NT_SYMBOL_PATH because the default behavior checks the immediate environs before looking in the paths defined in _NT_SYMBOL_PATH. Alas the GAC messes that up. We've always been dumping the .pdbs in our install directory but the stack traces that get logged blank out on anything that's gone through the GAC because the executables aren't located there. Another frustrating thing about the gac is that even if you have a copy of the executable, say, in the /bin directory of your ASP.Net application it's going to use the GAC version instead and not infer anything about where your symbols might be from the one in your /bin directory. So we're down to getting _NT_SYMBOL_PATH set properly in our installer. But not wanting the installer to keep accreting our directory on the front/back every time we install. And not destroying an environment variable that's a shared resource in the process, which is why I'm trying to form the right test in Wix to see if we're already in there. In our case, we're a saas provider, installing our stuff across a farm of ~100 of our servers. We're not a re-seller or SDK vendor. We're just trying to manage our farm. Thanks Mark -Original Message- From: Christopher Painter [mailto:chr...@deploymentengineering.com] Sent: Thursday, February 10, 2011 8:50 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix and "tricky" environment variables I'm no expert wrt to symbols so treat this advice as an old drunk sailor sitting at the bar tell
[WiX-users] DDSet_Warning: RegisterHelpFile()->IHxRegister::RegisterHelpFileSet() ERROR
Hey all, I'm trying to get a help collection to register using Wix 3.5 (the final build). The setup runs successfully but nothing shows up in the help. I get the following warning in the log file: DDSet_Warning: RegisterHelpFile()->IHxRegister::RegisterHelpFileSet() ERROR: C:\Program Files\SetupProject1\ClassLibrary1.HxS was *NOT* registered to namespace Acme.ClassLib.1, HRESULT=80004005. I'm not sure what to look at. My Component is very simple. (The PlugCollectionInto element was copied from a sample.) -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building extension .csproj
Here the .csproj: http://schemas.microsoft.com/developer/msbuild/2003";> Debug AnyCPU 9.0.30729 2.0 {51290030-D188-4D4A-A989-DC9A57C28926} Library Properties WiX.Extension EnvironmentExtension v3.5 512 SAK SAK SAK SAK true full false bin\Debug\ DEBUG;TRACE prompt 4 pdbonly true bin\Release\ TRACE prompt 4 3.5 3.5 3.5 False -Original Message- From: maksim.vazhe...@emc.com [mailto:maksim.vazhe...@emc.com] Sent: Friday, January 28, 2011 9:05 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Building extension .csproj I'm not very familiar with .NET projects. I need to integrate the build of C# projects to our build process (based on msbuild). Now it is done by running .csproj (with import of WixBuild.Common.targets) from another .proj using task . Could you please provide me a sample of .csproj for the extension without references to WixBuild.Common.targets? -Original Message- From: Rob Mensching [mailto:r...@robmensching.com] Sent: Friday, January 28, 2011 4:30 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Building extension .csproj I don't think you need WixBuild for the extensions. IIRC, we have some helper stuff in there to flatten the XML and such that isn't necessary. On Fri, Jan 28, 2011 at 12:12 AM, wrote: > Hi all, > > Is there any way to build C# part of WiX compiler extension using only WiX > sdk, without building needed WiX binaries? Now I have to build WixBuild.dll, > because it is required by WixBuild.Common.targets. I have to use > WixBuild.Common.targets to build the extension because there are some custom > tables and schema for the extension. > > Thanks, > Maksim > > -- > Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! > Finally, a world-class log management solution at an even better > price-free! > Download using promo code Free_Logger_4_Dev2Dev. Offer expires > February 28th, so secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsight-sfd2d > ___ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- virtually, Rob Mensching - http://RobMensching.com LLC -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Building extension .csproj
Unless I misunderstand, you shouldn't need to build any part of Wix to make your own compiler extension. You can make an extension with custom tables and schema and your own targets without have to build/re-build any of the Wix stuff. -Original Message- From: maksim.vazhe...@emc.com [mailto:maksim.vazhe...@emc.com] Sent: Friday, January 28, 2011 3:13 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Building extension .csproj Hi all, Is there any way to build C# part of WiX compiler extension using only WiX sdk, without building needed WiX binaries? Now I have to build WixBuild.dll, because it is required by WixBuild.Common.targets. I have to use WixBuild.Common.targets to build the extension because there are some custom tables and schema for the extension. Thanks, Maksim -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea?
Unfortunately, updating Product A isn't an option. I could continue the practice of using a CA until Product A is retired and removed from the servers but I was hoping for a better option. -Original Message- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: Friday, January 28, 2011 5:38 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea? Would it be possible to release upgrades for both products with the Event Sources authored? That way you can uninstall both. 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 ** 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: Maillet, Ed [mailto:email...@unum.com] Sent: 27 January 2011 20:04 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Permanent vs. SharedDllRefCount vs. better idea? Hey all, Trying to clean up a mess of sorts. Product A was installed on a bunch of servers long ago. Product A didn't create some EventSource entries so somebody manually added the missing items on each server. Product B came along and lives side by side with A. B is a old vdproj and it added the EventSources via a custom action (aka still no component) so a manual post fix was no longer required. Now, I'm trying to upgrade Product B (Major Upgrade) and do it with Wix (call it B.Wix) I can have B.Wix create a permanent component so A will continue to work after B.Wix is uninstalled (really while B is being upgraded). Is it possible to uninstall it someday once A finally dies? According to the docs, it does seem permanent is permanent and can't be altered afterwards to not be. So, can I cheat a little bit by using SharedDllRefCount to fake that A is using it? The idea being B.Wix installs an adds an extra reference count and then when A retired, I can decrement the count somehow and then uninstall B.Wix and have the component uninstall. Would that work? If so, how to decrement the reference count? -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Permanent vs. SharedDllRefCount vs. better idea?
Hey all, Trying to clean up a mess of sorts. Product A was installed on a bunch of servers long ago. Product A didn't create some EventSource entries so somebody manually added the missing items on each server. Product B came along and lives side by side with A. B is a old vdproj and it added the EventSources via a custom action (aka still no component) so a manual post fix was no longer required. Now, I'm trying to upgrade Product B (Major Upgrade) and do it with Wix (call it B.Wix) I can have B.Wix create a permanent component so A will continue to work after B.Wix is uninstalled (really while B is being upgraded). Is it possible to uninstall it someday once A finally dies? According to the docs, it does seem permanent is permanent and can't be altered afterwards to not be. So, can I cheat a little bit by using SharedDllRefCount to fake that A is using it? The idea being B.Wix installs an adds an extra reference count and then when A retired, I can decrement the count somehow and then uninstall B.Wix and have the component uninstall. Would that work? If so, how to decrement the reference count? -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Wix 3.5 Voitve, Harvest, wixlib - oh my!
Hey all, Just wondering if this is by design or a bug. I have a wixlib project that references a c# console app project. I set reference properties Harvest = true and Project Output Groups = "BinariesContentSatellites" That doesn't generate the usual intermediate wxs files nor the Product.Generated component group. I'm using Wix 3.5.2519.0 on Visual Studio 2008 SP1. That by design or a bug? - Ed -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Var's building vars?
I seem to have the strange need of building a preprocessor variable from another preprocessor variable which doesn't seem to be supported (not that I am surprised by that). I'm trying to do: And then elsewhere: The idea being only the project name is the variable and the rest are resolved. Am I missing something obvious this late in the day for another way to do this? - Ed -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Modify Heat Generated Fragment with C#
Have you tried doing it with an xslt instead? See the "-t" option. -Original Message- From: Wilson, Brian [mailto:brian.wil...@dhr.alabama.gov] Sent: Tuesday, January 18, 2011 3:29 PM To: 'WiX-users@lists.sourceforge.net' Subject: [WiX-users] Modify Heat Generated Fragment with C# Hello, I have a Heat generated WXS file that I am trying to modify, so I can add the shortcut node to the file node for my application. I am trying to use a C# program to do this for me. I am using the following code: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"C:\Wix Files\wix_import.wxs"); XmlNode xmlWiX = xmlDoc.DocumentElement; XmlNode xmlrplc = xmlWiX.SelectSingleNode(@"File[@Source='!(wix.ImportSrc)\TestImportApp.exe']"); XmlNode xmlparent = xmlrplc.ParentNode; ** Errors here*** xmlparent.RemoveChild(xmlrplc); xmlsrc.Save(@"~\modded_wix_import.wxs"); The attribute is not found, so I thought I would just find the node, so I tried: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(@"C:\Wix Files\wix_import.wxs"); XmlNode xmlWiX = xmlDoc.DocumentElement; XmlNode xmlrplc = null; XmlNode xmlComp = xmlWiX.SelectNodes("/Component"); XmlNodeList xmlList = xmlComp.ChildNodes; ** Errors here*** foreach (XmlNode xmlChild in xmlList) { if (xmlChild.Name == "File") { if (xmlChild.Attributes["Source"].Value == "!(wix.ImportSrc)\TestImportApp.exe") { xmlrplc = xmlChild; } } } XmlNode xmlparent = xmlrplc.ParentNode xmlparent.RemoveChild(xmlrplc) xmlsrc.Save(@"~\modded_wix_import.wxs") It seems the XML library is having a difficult time traversing the XML document. Has anyone done something like this and if so, what am I doing wrong? Thank you, Brian Wilson Department of Human Resources - Administrative Services Email: brian.wil...@dhr.alabama.gov -- 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?
Hey all, I'm trying to setup some conditions in a wixlib and I'm finding that some need to be based on the 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] CompilerExtension and processor archiecture guidance needed
To answer my own question, I had to create: 1 CompilerExtension 1 wixlib 2 Custom Actions (that do the same thing - x86 and x64) For the CA's I created two shell CAs that both reference a common assembly (CPUAny) that does the actual work. Each shell builds to its own processor architecture and the wixlib references both. The wixlib has conditionals to determine which CA to run. -Original Message- From: Maillet, Ed Sent: Friday, January 14, 2011 2:13 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] CompilerExtension and processor archiecture guidance needed Hey all, I'm trying to make a compiler extension that runs a custom action under the correct processor architecture (x86 or x64) of the MSI platform. I've got a A) CompilerExtension that contains B) a wixlib which contains C) a .NET custom action. A and C are a .NET assemblies built CPUAny I've build an x86 and a x64 wixlib and added it to A in the hopes of using the Extension GetLibrary() as: public override Library GetLibrary(TableDefinitionCollection tableDefinitions) { if(this.library == null) { switch(this.CompilerExtension.Core.CurrentPlatform) { case Platform.X86: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex86, tableDefinitions); break; case Platform.X64: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex64, tableDefinitions); break; } } return this.library; } This approach fails since this.CompilerExtension.Core is null. If I just load the x86 wixlib, everything works but the CA runs as a 32bit app. What is the proper way to build an extension that is processor architecture "smart" for the wixlib's and CAs it has? -- 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] CompilerExtension and processor archiecture guidance needed
Hey all, I'm trying to make a compiler extension that runs a custom action under the correct processor architecture (x86 or x64) of the MSI platform. I've got a A) CompilerExtension that contains B) a wixlib which contains C) a .NET custom action. A and C are a .NET assemblies built CPUAny I've build an x86 and a x64 wixlib and added it to A in the hopes of using the Extension GetLibrary() as: public override Library GetLibrary(TableDefinitionCollection tableDefinitions) { if(this.library == null) { switch(this.CompilerExtension.Core.CurrentPlatform) { case Platform.X86: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex86, tableDefinitions); break; case Platform.X64: this.library = WixExtension.LoadLibraryHelper(Assembly.GetExecutingAssembly(), libraryResourceNamex64, tableDefinitions); break; } } return this.library; } This approach fails since this.CompilerExtension.Core is null. If I just load the x86 wixlib, everything works but the CA runs as a 32bit app. What is the proper way to build an extension that is processor architecture "smart" for the wixlib's and CAs it has? -- 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] IIsExtension Catch-22
Hey all, I've got a MSI that installs a virtual directory using the iis:WebVirtualDir element to an existing web site. Install works great. However, if someone manually deletes the web site, the MSI won't uninstall because it can't find stuff. The errors from the log are below: ConfigureIIsExec: A matching web object in memory was found, but the web object in memory has no associated base ConfigureIIsExec: Error 0x80070002: Failed to find Web base ConfigureIIsExec: Error 0x80070002: Failed to get base of web for WebDir ConfigureIIsExec: Error 0x80070002: failed while processing WebDirs MSI (s) (B0!84) [17:42:28:079]: Product: HelloWorld -- Error 26003. Failed while processing WebDirs. (-2147024894 ) Error 26003. Failed while processing WebDirs. (-2147024894 ) Is there a way to tell the iis:Web* elements to just ignore the error(s) since the metabase entries are already gone? - Ed -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Preprocessor Extension question
I'm not confusing preprocessor extension with compiler extension. I'm trying to throw a politer error. Consider an unsupported function: $(acmeCo.DoesNotExist("Hello")) In the preprocessor implementation it throws an exception (e.g. ArgumentException) you get a message similar to: Error 7 In the preprocessor extension that handles prefix 'acmeCo' while trying to call function 'DoesNotExist("Hello")' and exception has occurred : Invalid Function Name: DoesNotExist Now, the idea is that if it could throw: throw new WixException(WixErrors.InvalidPreprocessorFunction(lineNumber, function)); instead. The error message might be a bit cleaner. But, alas, no line number collection. The Preprocessor.GetSourceLineNumbers doesn't work because the preprocessor extension doesn't get the XmlNode. (Or it's hiding somewhere I haven't seen). Date: Tue, 31 Aug 2010 05:13:13 -0700 (PDT) From: Nick Ramirez Subject: Re: [WiX-users] Preprocessor Extension question To: wix-users@lists.sourceforge.net Message-ID: <1283256793610-5482348.p...@n2.nabble.com> Content-Type: text/plain; charset=us-ascii There's a static method called Preprocessor.GetSourceLineNumbers that accepts an XmlNode object. It's used by WiX as Candle is looking through your markup. I'm not sure that you'll be able to use it very easily. If you don't mind my asking, what is it you're trying to achieve? Preprocessor extensions don't have elements that need to be parsed. Do you instead mean to say that you're creating a compiler extension? -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Preprocessor-Extension-question-tp5480707p5482348.html Sent from the wix-users mailing list archive at Nabble.com. _ From: Maillet, Ed Sent: Monday, August 30, 2010 8:14 PM To: 'wix-users@lists.sourceforge.net' Subject:Preprocessor Extension question When writing a preprocessor extension, how can you get SourceLineNumberCollection inside the extension? It isn't in the base class or Core that I can find. - Ed -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Preprocessor Extension question
When writing a preprocessor extension, how can you get SourceLineNumberCollection inside the extension? It isn't in the base class or Core that I can find. - Ed -- This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Compiler Extension - Create Hidden Property?
Hey, Is there a way in a Compiler Extension to create a hidden property. This will create the property but there isn't a way to get at the MsiHiddenProperties property to append to it (why it's not a boolean column is another question). Row propRow = base.Core.CreateRow(sourceLineNumbers, "Property"); propRow[0] = propertyID; propRow[1] = "REPLACE-AT-RUNTIME"; Any ideas? - Ed -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Registry Permissions
Hey all, I'm stuck on what should be simple. I can't figure out how to get the registry permission set correctly. I've got some mental block or something. Writing my Compiler extensions wasn't this hard. I'm trying to do something very simple. 1) Create a reg key (e.g. HKLM\Software\AcmeCo\MyApp\Credentials\SecrectCredentials) 2) Create two registry values under that key (username and password). 3) Assign a specific domain user read permissions and Administrators Full Control to the Key in #1 so they can read the values from #2. My attempts fail ranging from the element being ignored to the MSI running and complaining I don't have permission to create the Key or Values (error message varies depending on where I put the element) How to do this? - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Gracefully handling Internal Extension Errors
Hey all, For custom a Preprocessor or Compiler Extensions, what is the proper process/mechanism to gracefully handle internal errors. For example, if the GetVariableValue throws a NullReferenceException, or the Compiler extension ctor throws an exception, how should the exception be caught and reported so it shows up as something useful. Unhandled exceptions, when building inside Visual Studio, cause VS to do it's 'internal error would you like to report to Microsoft' flow. - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Custom Extension - how'd they do that?
Hey all, I'm working on a custom Compiler Extension and it mostly works. I'm stumped on a problem about how do to one part. Following how the WixIIsExtension works, I have my extension, my compiler, my custom actions, etc. What I can't figure out is how (or where) the WixIIsExtension wires up it's custom actions internally. There is the internal Microsoft.Tools.WindowsInstallerXml.Entensions.Data.iis.wixlib resource fetched by the GetLibrary method. I assume the contents of that contain the custom action code and the fragments to wire up those actions. I'm guessing on all that but it seems reasonable. I'm just not sure how to make my own similar wixlib. I have one embedded in my extension and have included the custom action code into it but I can't figure out the 'magic' to have the custom actions wired up properly so the consuming Wix Project just gets them set. I think I'm missing something obvious. Thoughts? (Or a wixlib reflector like tool?) - Ed Unum Application Services In pleasant South Carolina -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Preprocessor and Component Guids
Here's the real use case. I need to create what I'll call an 'Infrastructure Package', specifically for a web service application in a corporate server environment. I need a single unattended MSI that can create an IIS 6.0 web site and application pool based on an environment setting on the machine (DEV, PROD, STRESS, etc). The contents of the iis:Web* elements change based on environment (e.g. app pool user name, host header, etc). The server folks will take the MSI and push it out to the various servers using some tool they have. Being an Infrastructure Package, there are neither files nor registry entries, etc thus no KeyPaths. (Actually, I do have a RegKey with no values but a key isn't allowed as a KeyPath) The actual contents for the site are provided with version specific (v1, v2, etc) installers (not necessary Wix created and even MSI based [e.g. AppCenter or Xcopy]) and assume that the Infrastructure has already been setup. I'm sure I don't understand all the implications for servicing and a random guid but I think my only use case for changes would be to uninstall and install a new one. No patching required. To make things more fun, in order to securely set the app pool password, I'll eventually need a custom action that can call out to a SAML secured WCF web service to retrieve the password. Hard coding it into the install isn't an option. But that's for another day. - Ed -- Message: 7 Date: Mon, 31 Aug 2009 16:25:46 + From: Svet Bonev Subject: Re: [WiX-users] Preprocessor and Component Guids No, there is no built-in functionality to accomplish that. But the bigger question is why you want to create such components. Ideally, you would have file KeyPaths. Random component guids are usually bad for servicing scenarios. What are you doing with these components? Giving us more details about the use case would help us identify a solution. -Original Message- From: Maillet, Ed [mailto:email...@unum.com] Sent: Monday, August 31, 2009 8:53 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Preprocessor and Component Guids Hey all, I hope I'm missing something obvious. Is there a way for the preprocessor to generate a guid value for a variable? (without making my own custom extension). Something like I'm trying to create multiple conditional components like: I can't use Guid="*" since I also don't have a KeyPath in components. (I can make it work with KeyPath but how could I do it without?) - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users End of WiX-users Digest, Vol 39, Issue 118 ** -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Preprocessor and Component Guids
Hey all, I hope I'm missing something obvious. Is there a way for the preprocessor to generate a guid value for a variable? (without making my own custom extension). Something like I'm trying to create multiple conditional components like: I can't use Guid="*" since I also don't have a KeyPath in components. (I can make it work with KeyPath but how could I do it without?) - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Dynamic Property Values vs. Multiple Components
Doesn't the using the preprocessor statements essential force the creation of multiple MSIs? One per environment? For what I need, I must have a single MSI that works in all environments. I did get the Multiple Component approach to work but it seems like a weird way to do it. - Ed -- Date: Tue, 25 Aug 2009 16:56:38 -0700 From: "Blair" Subject: Re: [WiX-users] Dynamic Property Values vs. Multiple Components Wrap the s with for the "common" ones AND the ones that vary based solely on the name of the environment? Note: this is a quick-and-dirty example. I haven't compiled it, but is should basically be what you are looking for. -----Original Message- From: Maillet, Ed Sent: Tuesday, August 25, 2009 10:01 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Dynamic Property Values vs. Multiple Components Hey all, Looking for some direction and opinions. I need to create an hands free (no UI/prompting etc) MSI that installs Web Site and app pool on IIS 6.0. The catch is that the user info and host header info need to be derived based on an environment variable on the target machine. I have 10 different environments (DEV, PROD, STRESS, etc). The mapping between environment variable and the other info is static (e.g. env = A always yields Header = X, etc) It seems more natural to me to have properties who's values get set at runtime rather than multiple components with conditions (or Features with conditions) Unless I'm missing something, there seems to be no easy way in Wix 3 to dynamically set the value of a property without making a CustomAction. The SetProperty doesn't seem to help since you can't do: But replicating the Component XML containing the iss:Web* elements and tweaking 10 times seems like a bad idea. 95% of the contents are the same and some day someone will forget to update them all correctly. Thoughts? - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Dynamic Property Values vs. Multiple Components
Hey all, Looking for some direction and opinions. I need to create an hands free (no UI/prompting etc) MSI that installs Web Site and app pool on IIS 6.0. The catch is that the user info and host header info need to be derived based on an environment variable on the target machine. I have 10 different environments (DEV, PROD, STRESS, etc). The mapping between environment variable and the other info is static (e.g. env = A always yields Header = X, etc) It seems more natural to me to have properties who's values get set at runtime rather than multiple components with conditions (or Features with conditions) Unless I'm missing something, there seems to be no easy way in Wix 3 to dynamically set the value of a property without making a CustomAction. The SetProperty doesn't seem to help since you can't do: But replicating the Component XML containing the iss:Web* elements and tweaking 10 times seems like a bad idea. 95% of the contents are the same and some day someone will forget to update them all correctly. Thoughts? - Ed -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users