Wireshark-dev: [Wireshark-dev] The Wireshark documentation for building on Windows may need som
At least as I read
http://msdn.microsoft.com/en-us/library/ms717358(v=vs.100).aspx
and
http://msdn.microsoft.com/en-us/library/ff660764(v=vs.100).aspx
it might be possible to just download and install the Windows SDK and get command-line tools without installing Visual Studio.
Does anybody know whether that works? (Given how badly attempting to uninstall various items from my Windows 7 virtual machine failed, I might have to create a fresh new virtual machine to try that out.)
The relationship between Visual Studio and the Windows SDK seems a bit confusing. Visual Studio 2010 Express Edition doesn't include compilers necessary to build 64-bit binaries, but you can install the Windows 7 SDK and get those compilers.
Note, however, that "Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed":
http://support.microsoft.com/kb/2519277
(perhaps SP1 throws out all the compilers and installs new ones, and doesn't realize that if you had VS 2010 Express *and* the Windows SDK 7.1 you had compilers targeting 64-bit ISAs and should therefore get new ones), so you have to install the "Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1":
http://www.microsoft.com/en-us/download/details.aspx?id=4422
to get them back.
I've updated the Developer's Guide "Win32: Step-by-Step Guide" section to reflect what Gerald told me when I asked about doing 64-bit builds with VS 2010 EE and what I discovered when setting up the build environment on my 64-bit Windows 7 virtual machine, although I still need to update it to note that if you install the Windows SDK, it supplies the vcredist_*.exe files, so you don't need to download them separately.
The "Microsoft compiler toolchain (Win32 native)" section needs some more work to discuss 64-bit building (unless we want separate "Win32 native" and "Win64 native" sections). It also claims that you don't get the SDK with the Express Editions of Visual Studio, but, for building 32-bit binaries, the Express Editions contain a subset of the SDK headers and libraries sufficient to build Wireshark. As per the above, they *don't* contain the compilers necessary to build any 64-bit binaries.
If the Professional and fancier versions of Visual Studio include a full SDK and 64-bit compilers, and if the SDK is sufficient to do command-line builds, it sounds as if:
SDK alone - costs you no money, lets you build 32-bit and 64-bit binaries, but you have no GUI tools, just command-line tools;
VS Express Edition alone - costs you no money, lets you build 32-bit Wireshark binaries (but there might be SDK stuff missing for Windows features we *don't* use) and gives you some GUI tools, but you can't build 64-bit binaries and you don't get all the GUI tools (such as the resource editor);
VS Express Edition + SDK - costs you no money, lets you build 32-bit and 64-bit binaries, and gives you some GUI tools, but doesn't give you all the GUI tools (such as the resource editor);
VS Professional Edition and up - lets you build 32-bit and 64-bit binaries, gives you more (all?) GUI tools, but costs money.
Is there anything in the SDK that doesn't come with VS Professional Edition?