Re: [WiX-users] Set firewall exception
David Thielen It's all peer to peer, no server. So each AddIn listens for the UDP broadcasts and replies to the broadcaster saying they exist. The broadcast occurs at startup and if the number of replies is greater than the license allows that AddIn is disabled. So the first N can run, the rest cannot. I can imagine a couple of scenarios - intentional and less intentional - where the answer won't reach the sender and so the sender would startup no matter how many instances of the plugin are already running. It's much harder to imagine how reliable licence management is supposed to work under such circumstances... Andre' PS: A bit more on topic: I also think that such configuration is not the business of the installer as it is very likely to fail and rollback will be messy. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
How would you the netsh firewall command back? Also, what if two installs both install the same firewall exception? How would you reference count the firewall exception? Writing CustomActions that modify machine state is rarely an easy task. Transactions (even compensating transactions) are hard things to get right. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Levi Wilson Sent: Tuesday, January 16, 2007 10:33 AM To: David Thielen Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception It probably wouldn't be hard to do a Custom Action to do such a thing. You could do a netsh firewall command to do it. On 1/16/07, David Thielen [EMAIL PROTECTED]mailto:[EMAIL PROTECTED] wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.comhttp://www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.netmailto:WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
Sorry, not quite awake yet. Let me try that again... I've touched up what I was trying to say below: How would you get the netsh firewall command to rollback? Also, what if two installs both install the same firewall exception? How would you reference count the firewall exception? Writing CustomActions that modify machine state is rarely an easy task. Transactions (even compensating transactions) are hard things to get right. Reference counting is similarly difficult. Trivializing the effort to get a CustomAction correct reduces that chances that we keep end users machines stable when they install our software. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Mensching Sent: Tuesday, January 16, 2007 10:36 AM To: Levi Wilson; David Thielen Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception How would you the netsh firewall command back? Also, what if two installs both install the same firewall exception? How would you reference count the firewall exception? Writing CustomActions that modify machine state is rarely an easy task. Transactions (even compensating transactions) are hard things to get right. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Levi Wilson Sent: Tuesday, January 16, 2007 10:33 AM To: David Thielen Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception It probably wouldn't be hard to do a Custom Action to do such a thing. You could do a netsh firewall command to do it. On 1/16/07, David Thielen [EMAIL PROTECTED]mailto:[EMAIL PROTECTED] wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.comhttp://www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.netmailto:WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
It probably wouldn't be hard to do a Custom Action to do such a thing. You could do a netsh firewall command to do it. On 1/16/07, David Thielen [EMAIL PROTECTED] wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing ( winword.exe)? Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
Not today. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Tuesday, January 16, 2007 9:23 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Set firewall exception Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.comhttp://www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
The other question to ask is whether this really belongs in the installation at all. The line between installation and configuration is sometimes a huge gray area, but this could be seen as application configuration that doesn't need to be in the installation. I've heard suggestion that where ports are concerned it might be better if the app opens and closes them itself if necessary, which has the benefit that the ports aren't sitting there open when the app isn't running. And what happens if the user installs the app without the Windows firewall enabled and then enables it later? Or switches from a 3rd-party firewall to the Windows one? Or upgrades from Windows 2000 to XPSP2 with your app installed? The point I'm making here is that it might be better to have a standalone exe that configures the firewall for your product that can be run another time if necessary. Perhaps put a shortcut on the Start menu and have the user explicitly run it so there's some awareness that the firewall has been altered and it's not masked by the installation. Either way, the idea here is to get away from the notion that the only way to configure the application's firewall settings is during the installation. Phil Wilson From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Mensching Sent: Tuesday, January 16, 2007 11:01 AM To: Levi Wilson Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Short answer is, No. Medium answer is Just launching netsh would not be sufficient to correctly install, uninstall, rollback, repair and patch Firewall exceptions. Why? Well there are a number of issues to think about: What happens if the user hits cancel (or something actually fails in your install?) after your netsh.exe CustomAction executed? How do you rollback, and you want to rollback to the previous exception if there was one. There is rollback on Uninstall too (to put it back the way it was). And during uninstall, how do you handle the case that two different products may install the same firewall exception? Lots of tricky problems to solve in there. I encourage you to take a look at the WiX CustomActions sometime. I'm actually working on some bugs in there where rollback does the wrong thing. Check out the oldest open WiX v2 bugs. CustomActions that modify machine state are non-trivial programming exercises. Please, be aware of that before you write one... and if you do write one consider offering it back to the community so nobody else has to go through the trouble again. That's how the IIS, SQL, User, Certificate, FileShare, PerformanceCounter, MSMQ, COM+ stuff all came to be. From: Levi Wilson [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 16, 2007 10:43 AM To: Rob Mensching Cc: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Couldn't you just do a ShellExecute() on netsh.exe with the command line of something like firewall add allowedprogram \c:\\myprogram.exe\ ENABLE as the parameter? Then you can have another one (netsh firewall delete etc.) that removes it upon uninstall. Wouldn't that work? On 1/16/07, Rob Mensching [EMAIL PROTECTED] wrote: How would you the netsh firewall command back? Also, what if two installs both install the same firewall exception? How would you reference count the firewall exception? Writing CustomActions that modify machine state is rarely an easy task. Transactions (even compensating transactions) are hard things to get right. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Levi Wilson Sent: Tuesday, January 16, 2007 10:33 AM To: David Thielen Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception It probably wouldn't be hard to do a Custom Action to do such a thing. You could do a netsh firewall command to do it. On 1/16/07, David Thielen [EMAIL PROTECTED] wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDE V ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get
Re: [WiX-users] Set firewall exception
Wilson, Phil wrote: The other question to ask is whether this really belongs in the installation at all. The line between installation and configuration is sometimes a huge gray area, but this could be seen as application configuration that doesn't need to be in the installation. I've heard suggestion that where ports are concerned it might be better if the app opens and closes them itself if necessary, which has the benefit that the ports aren't sitting there open when the app isn't running. Speaking with my admin hat on I'd really rather an application/installer did none of these things, and was unable to do so without requesting administrative approval (something I believe vista enforces.. hopefully even when running an MSI). Unfortunately on XP this can be done silently without any confirmation just by the installer running netsh firewall in the background... so it's probably a lost cause. Tony - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
In our case the AddIn hits the port as soon as Word starts so we need it added on installation. Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Wilson, Phil Sent: Tuesday, January 16, 2007 1:46 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception The other question to ask is whether this really belongs in the installation at all. The line between installation and configuration is sometimes a huge gray area, but this could be seen as application configuration that doesn't need to be in the installation. I've heard suggestion that where ports are concerned it might be better if the app opens and closes them itself if necessary, which has the benefit that the ports aren't sitting there open when the app isn't running. And what happens if the user installs the app without the Windows firewall enabled and then enables it later? Or switches from a 3rd-party firewall to the Windows one? Or upgrades from Windows 2000 to XPSP2 with your app installed? The point I'm making here is that it might be better to have a standalone exe that configures the firewall for your product that can be run another time if necessary. Perhaps put a shortcut on the Start menu and have the user explicitly run it so there's some awareness that the firewall has been altered and it's not masked by the installation. Either way, the idea here is to get away from the notion that the only way to configure the application's firewall settings is during the installation. Phil Wilson From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Mensching Sent: Tuesday, January 16, 2007 11:01 AM To: Levi Wilson Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Short answer is, No. Medium answer is Just launching netsh would not be sufficient to correctly install, uninstall, rollback, repair and patch Firewall exceptions. Why? Well there are a number of issues to think about: What happens if the user hits cancel (or something actually fails in your install?) after your netsh.exe CustomAction executed? How do you rollback, and you want to rollback to the previous exception if there was one. There is rollback on Uninstall too (to put it back the way it was). And during uninstall, how do you handle the case that two different products may install the same firewall exception? Lots of tricky problems to solve in there. I encourage you to take a look at the WiX CustomActions sometime. I'm actually working on some bugs in there where rollback does the wrong thing. Check out the oldest open WiX v2 bugs. CustomActions that modify machine state are non-trivial programming exercises. Please, be aware of that before you write one... and if you do write one consider offering it back to the community so nobody else has to go through the trouble again. That's how the IIS, SQL, User, Certificate, FileShare, PerformanceCounter, MSMQ, COM+ stuff all came to be. From: Levi Wilson [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 16, 2007 10:43 AM To: Rob Mensching Cc: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Couldn't you just do a ShellExecute() on netsh.exe with the command line of something like firewall add allowedprogram \c:\\myprogram.exe\ ENABLE as the parameter? Then you can have another one (netsh firewall delete etc.) that removes it upon uninstall. Wouldn't that work? On 1/16/07, Rob Mensching [EMAIL PROTECTED] wrote: How would you the netsh firewall command back? Also, what if two installs both install the same firewall exception? How would you reference count the firewall exception? Writing CustomActions that modify machine state is rarely an easy task. Transactions (even compensating transactions) are hard things to get right. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Levi Wilson Sent: Tuesday, January 16, 2007 10:33 AM To: David Thielen Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception It probably wouldn't be hard to do a Custom Action to do such a thing. You could do a netsh firewall command to do it. On 1/16/07, David Thielen [EMAIL PROTECTED] wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your
Re: [WiX-users] Set firewall exception
David Thielen wrote: In our case the AddIn hits the port as soon as Word starts so we need it added on installation. I'm curious why a Word addin would be listening for incoming connections? (without giving away any trade secrets of course). Tony - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
OK, so I see that your port (1707) is registered with IANA, so you could do it by opening this port, although other applications could get a surprise if they are allocated this port by the OS. Presumably you're broadcasting in order to find a licensing server? As I recall, you don't need to open a firewall exception if you don't bind your UDP socket to a particular port number - the firewall will then set up a short-duration dynamic rule to allow responses. If your licensing server then connects back to the add-in over TCP (i.e. the add-in implements a TCP listener), then you do need the firewall exception. However, I think this is a poor design: you should have the licensing server respond with a yes/no answer in a UDP packet sent to the client, or if you need a longer conversation than will fit in a single UDP packet, have the licensing server respond to the client with its address, then have the client connect to the server over TCP (the server listening for connections) to proceed with the licensing handshake. Outbound connection requests are not filtered by Windows Firewall. UDP gets a bit of a poor reputation, which isn't really deserved - for small amounts of data, where there won't be more than one packet's worth of data in response, it's fine. DNS is perfectly happy with UDP although it supports both for larger responses. Kerberos likewise supports both; you are supposed to use UDP for the initial ticket request. In LAN environments you can use a payload of up to around 1400 bytes (to allow for VPNs) - any more and you risk packet loss due to fragmentation. If the client is broadcasting to find a licensing server, you necessarily require that the licensing server is present on the same subnet as the clients. This might be a problem for some enterprises. Others may have firewalls or NATs in between different parts of their networks; in the case of the NAT the server will not see the client's true IP address and will be unable to connect back to the client. I realise this has drifted a long way from WiX, but I felt it was still useful to have others' input. -- Mike Dimmick (maintainer of a UDP-based thin-client application server which really ought to be using TCP now that messages regularly exceed 500 bytes) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: 16 January 2007 22:06 To: Tony Hoyle; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Our copy protection is a UDP broadcast and a TCP reply to limit the totally number of AddIns in use to what is licensed. So we definitely want that port opened no matter what :) - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
It's all peer to peer, no server. So each AddIn listens for the UDP broadcasts and replies to the broadcaster saying they exist. The broadcast occurs at startup and if the number of replies is greater than the license allows that AddIn is disabled. So the first N can run, the rest cannot. Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm -Original Message- From: Mike Dimmick [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 16, 2007 3:45 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] Set firewall exception OK, so I see that your port (1707) is registered with IANA, so you could do it by opening this port, although other applications could get a surprise if they are allocated this port by the OS. Presumably you're broadcasting in order to find a licensing server? As I recall, you don't need to open a firewall exception if you don't bind your UDP socket to a particular port number - the firewall will then set up a short-duration dynamic rule to allow responses. If your licensing server then connects back to the add-in over TCP (i.e. the add-in implements a TCP listener), then you do need the firewall exception. However, I think this is a poor design: you should have the licensing server respond with a yes/no answer in a UDP packet sent to the client, or if you need a longer conversation than will fit in a single UDP packet, have the licensing server respond to the client with its address, then have the client connect to the server over TCP (the server listening for connections) to proceed with the licensing handshake. Outbound connection requests are not filtered by Windows Firewall. UDP gets a bit of a poor reputation, which isn't really deserved - for small amounts of data, where there won't be more than one packet's worth of data in response, it's fine. DNS is perfectly happy with UDP although it supports both for larger responses. Kerberos likewise supports both; you are supposed to use UDP for the initial ticket request. In LAN environments you can use a payload of up to around 1400 bytes (to allow for VPNs) - any more and you risk packet loss due to fragmentation. If the client is broadcasting to find a licensing server, you necessarily require that the licensing server is present on the same subnet as the clients. This might be a problem for some enterprises. Others may have firewalls or NATs in between different parts of their networks; in the case of the NAT the server will not see the client's true IP address and will be unable to connect back to the client. I realise this has drifted a long way from WiX, but I felt it was still useful to have others' input. -- Mike Dimmick (maintainer of a UDP-based thin-client application server which really ought to be using TCP now that messages regularly exceed 500 bytes) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: 16 January 2007 22:06 To: Tony Hoyle; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Set firewall exception Our copy protection is a UDP broadcast and a TCP reply to limit the totally number of AddIns in use to what is licensed. So we definitely want that port opened no matter what :) - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Set firewall exception
How about using the DX Sample FirewallInstallHelper. It has all that your looking for. First get the DirectX SDK, then click on the DirectX Sample Browser. Type in FirewallInstallHelper and install the project. Look at the documentation on how and what need to be in you MSI project and it is pretty easy to convert those to wix way of doing things. David Thielen wrote: Hi; Is there a WIX command to set an exception in the Windows firewall? If so, what is it? And can it be set for a program we are not installing (winword.exe)? Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- View this message in context: http://www.nabble.com/Set-firewall-exception-tf3022245.html#a8402658 Sent from the wix-users mailing list archive at Nabble.com. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users