Is Windows 7 Home Premium edition sufficient for software development? - windows-7

Is the Windows 7 Home Premium sufficient for software development?
Development would be in Visual Studio 2010.
I'm on a budget so would rather purchase 'Home Premium' rather than 'Professional' or 'Ultimate'.
The Microsoft site says there is next to nothing functionality wise between them that developers would miss. Can anyone confirm or deny?
BTW. Does it come with a version of IIS?
I realize that this is not a technical question. But it is important to me and I'm sure other developers wonder the same thing.
Cheers,
-- Lee

Yes. I write software using VS 2010 in WIndows 7 Home Premium without any trouble.

Basically, yes, it's totally sufficient.
A big upside to professional edition, though, is that it comes with Windows XP mode, essentially a virtual machine with a built-in XP installation (and included license). That can come in handy if you do web development (test things in IE6/7) or need to test applications in the old XP GUI.
Windows XP mode can also be a lifesaver if you need to run older applications that won't run properly in 7. I personally would consider choosing the Professional Edition for that reason.

Don't purchase either, instead buy a MAPS subscription from them. In the UK these cost £199 p.a. (I imagine less in the states) for which you get virtually everything you're likely to need except Visual Studio. Currently you get
10 licences for MS Office 2007
10 for Project
10 for Visio
10 for Outlook
10 for Mappoint (North America only)
1 for Office Communications Server plus 10 CALS
10 for Windows 7 Professional
1 for Windows 7 Ultimate
1 for Windows Server 2008 R2, plus 10 Server CALS and 10 Terminal Server CALS
1 for Windows Web Server 2008 R2
1 for Windows Home Server 2008 R2
1 for Windows Business Server
1 for Windows Exchange server plus 10 CALS
1 for Windows Office Sharepoint, plus 10 CALS
1 for WIndows SQL Server standard plus 10 CALS
Plus a bunchload of other odds and sods servers and products of lesser interest.
MAPS is such good value - and I'm by no means a Microsoft fan - that purchase is pretty much a no-brainer for any software developer who runs Windows in any form.
UPDATE: Since I wrote this Microsoft now offer a Developer version of MAPS which replaces some of the more esoteric servers with Visual Studio. You still get the Office, Windows and SQL Server licences, which makes it just about perfect for any developer.

What you won't find on the Microsoft site, but on Wikipedia, is a nice Comparison Chart.
Compared to Professional, the Home Premium edition lacks:
support for more than 16 GB of memory: start worrying about that in a few years' time
network support in the Backup and Restore Center: not a problem if you handle your own backups
Remote Desktop server: not a problem if you develop only locally
some advanced disk management stuff: not a problem
features for a company network environment: not a problem
Windows XP mode: handy if you want to test on XP, but can be replaced by e.g. VMWare running an XP installation
Multilingual User Interface support: handy if you want to develop and test multilingual desktop applications
In conclusion: Professional may have some additional value if you develop Windows desktop applications for a diverse audience. If not, go for Home Premium.

Since you specifically asked:
Installing IIS 7.5 on Windows 7 Home Premium, Home Basic, or Home Starter (TechNet)
I guess in the past there were issues with developing for IIS on XP Home, but it looks like you can install IIS 7.5 on ANY version of Windows 7, including Starter, which I am surprised to see. I thought Starter was short of being useless for developers.
I agree with Pekka about XP Mode in Pro and Ultimate coming in handy if you need it. Sounds like Brian is already doing it and its working fine (I'm on Vista Ultimate until next week).

Yes. The OS you use really has little to do with development, unless you're targetting something specific to a version or edition of Windows (rare).

Related

Buliding Windows Phone 7 projects on Windows Server 2008

My company is planning on developing for Windows Phone 7. The build server we have, however runs Windows Server 2008. According to the Windows Phone SDK release notes I've read that only Windows Server is not supported for the SDK.
Does anyone have any experience on whether there's a possible workaround to have a Windows Server 2008 machine build Windows Phone 7 projects?
Update: I'm interested in building on a WS 2008 as we're talking about a project with a larger team where continous integration and centralized builds are essential. I'd be hoping we wouldn't have to set up an additional Windows 7 build server for this task.
Most the issues of this nature come into play meeting the emulator's requirements rather than the development tools.
With that said some are hacking around the walls put up to stop people going into the unsupported territory of WS2008.
Judging by your requirements I'd say dive in. If you have the option to test on device or in emulators in Win7, that will place you well.
This post likely of interest.
Aaron Stebner's WebLog : How to install the Windows Phone Developer Tools CTP Refresh on Windows Server 2008
If someone is interested here is instruction how to modify ISO image of the WinPhone 7.1 SDK for installing it on Windows Server. Basically it's the same Aaron Stebner solution, the only difference is that you need to modify it in the ISO image.

Is it necessary to test my application on all Windows OS's AND all editions of each?

I will be testing an application that claims to run on Windows XP, Windows Vista, and Windows 7. I know that I have to test the application for each of those on 32-bit and 64-bit (if it exists), but I'm not sure if it's necessary to test each edition of each operating system.
For example, do I really need to test for Windows 7 Starter if I already tested Windows 7 Ultimate or Home? Do I need to test Windows Vista Business if I already tested Windows Vista Home Premium? And so on ...
It would be very time-consuming to test each and every edition of each of the three flavors that are supposed to be supported:
Windows XP Home w/ SP2
Windows XP Professional w/ SP2
Windows Vista Starter
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Business
Windows Vista Enterprise
Windows Vista Ultimate
Windows 7 Starter
Windows 7 Home Basic
Windows 7 Home Premium
Windows 7 Professional
Windows 7 Enterprise
Windows 7 Ultimate
Let me know what you think.
In our workflow we test each platform and architecture, not every edition.
For example, test on XP, Vista, and 7, and 32- and 64- bit architectures. There is no need to test both XP Home and Professional on the same architecture unless some feature of your software depends on a functionality only present in Professional.
It would be good, but it is not necessary. A prudent approach would be to test it on the edge cases.
For example, if it works on XP SP1 and SP3, it probably works on SP2. If it works on Windows 7 Home Basic and Windows 7 Ultimate, then it probably works on Windows 7 Professional.
Use your best judgment. Its easy to post an answer that says, "Do Everything!", but in reality, that is not practical.
It would require analysis from your part.
If you'd use dll's or features only available in some Windows editions, or rely on Hotfixes integrated in an SP but not in the base edition, you'd have to test on each of the different versions.
However, I'd say in most situations testing what you suggested should suffice.
I would definitely test the following versions from your list:
Windows XP Home w/ SP2 [Yes]
Windows XP Professional w/ SP2 [No]
Windows Vista Starter [Yes]
Windows Vista Home Basic [No]
Windows Vista Home Premium [No]
Windows Vista Business [No]
Windows Vista Enterprise [No]
Windows Vista Ultimate [No]
Windows 7 Starter [Yes]
Windows 7 Home Basic [No]
Windows 7 Home Premium [No]
Windows 7 Professional [No]
Windows 7 Enterprise [No]
Windows 7 Ultimate [No]
My understanding is: If it works on the most stripped basic version, it will work on the the ones that are more feature packed.
The only difference between Home/Professional/Ultimate/Orgasmic would be the larger scale features that are included. The API should be identical.
A possible alternative is to skip testing and simply ship it. This provides you with a small army of testers with all kinds of environments, some of whom will report to you (with angry e-mails or demands for refunds, perhaps).
For some years, I was in a happy position where I had essentially a captive customer base (this was in-company) and my code either worked for them or they reported on failure and I'd fix it the same day. THEY WERE GRATEFUL to get fixes so quickly; other departments tested their code and had lengthy release cycles but not really fewer bugs; and if something went wrong it took ages to fix.
This may not be good advice for you, but (as my anecdote shows) it would depend on the circumstances. If you're not worried about annoying a few users or tarnishing your reputation, this might allow you to cut a corner or two.
EDIT:
Based on your feedback, you're in the (more common) situation where this kind of operation would earn you a spanking. In that case, I'd agree with the recommendations of some other answers that encourage you to test all major releases but not the different editions.
As the programmer, you should theoretically have a feel for what distinguishes the Home/Premium/Whatever versions. These days, as far as I've seen, that tends to be stuff like:
Is there server-type software (like IIS) included?
Is there a limit on network connections?
Does it ship with all languages?
Which multimedia gadgets and codecs does it include?
In some cases, the difference in versions came down to a single flag stored in some number on the CD... identical code, just an option for toggling capabilities. Unless the subset of capabilities has an impact on your code, you're probably safe to ignore it. A sensible approach might be to test with the lowest common denominator (i.e. the "poor peoples' editions") of the product, as that will
be the least expensive to purchase for testing on; and
have the greatest number of restrictions on what your code can do.
But as usual, Your Mileage May Vary.
I'd start with the Windows Application Compatibility Toolkit from Microsoft, the Win 7 version is here. You should be able to back track from there through the Vista and XP ACTs.

SharePoint 2010 Development on Virtual Machine - Windows 7 or Server 2008?

I recently switched to a MacBook Pro for my development machine (for many reasons). I want to setup a Virtual Machine for ASP.NET, IIS, and Visual Studio 2010 development. I also have need to do some development work with SharePoint 2010.
What I am wondering is if I should use Windows 7 (64 bit) or Windows Server 2008 (64 bit) as the OS for my development virtual machine. I don't really need most of the services running in Server 2008 so I felt that Windows 7 would probably run faster in the VM environment however I am fairly new to SharePoint 2010 so I am not sure if Windows 7 (64 bit) can be used as a development environment for it.
Thanks for any input.
much easier is to install SharePoint 2010 on Win Server than on Windows 7 - on Windows 7 you need to install SharePoint manually (extract installation files, install prerequisites, install additional patches etc). Here is a link how to do it: http://bit.ly/aDCzvS
Services will not make a difference. Look at all the stuff you need for Sharepoint - this is not a low capacity environment. So, 00mb will not make a difference. Between SQL Server, Sharepoint server and Visual Studio I would say you ASK for about 6-8gb anyway ;)
I do not think it makes a difference now. Sharepoint 2010 was explicitly optimized for being installable on Win 7 - and this is a fully supported development model (contrary to 2007 where you basically were at the end of a bad line as developer). Win 7 should be good. That said, you can tune Windows server to be as good as Win 7 UI wise (for development work and playing music in the background).
I would go with Windows 7 for the time being - and possibly install Sharepoint on a separate Win 2008 when needed. THe main problem here is that Sharepoint is heavy in mem useage, and I woud hate carrying it around all the other time.
A MacBook Pro may be a bad choice for that - make sure you have at least 8gb memory for real sharepoint development work.
I work with people that use SharePoint in a VM on a Mac and their life is much harder. Among other things copying and pasting code between the guest and host machine doesn't work, and they're forced to dedicate one monitor to the VM. You should really consider Boot Camp and Windows 7.
Boot Camp + Windows 7 should get you:
Ability to use multiple monitors (Visual Studio's multi-monitor support is really wonderful)
Ability to hibernate (which you wouldn't necessarily get in Boot Camp + Server 2008 R2)
Use of all of your memory (SharePoint 2010 is a memory hog, running in a VM won't help the situation)
Fewer inconveniences like copy and paste problems
If for whatever reason Boot Camp isn't an option I'd go with Windows 7 in a VM. One of the big pros over Server 2008 is it has all of the features that you need already enabled. It ends up being a lot of work to debug why something isn't working in Server 2008 R2 only to find some obscure feature or service wasn't installed or activated out of the box.

How to transform Win2K3 into a Workstation Developement OS?

Here is a question not directly related to programming.
Being fed up with Microsoft Windows XP Professional, and the lots of eye-candy, I want to try Microsoft Windows Server 2003 as the main OS on my development PC. (The other reason is a better version of IIS than 5.1). And knowing that Win2K3 was originally designed as a Server OS, I think that I should make it somehow more "workstation friendly".
My question is: How do I transform Win2K3 (Standard Edition most probably) into a Workstation OS? Any articles or links are highly appreciated.
PS: My development PC must run mainly MS Visual Studio 2008, MS SQL Server 2008, MS Expression Studio 2, different Oracle software (10gR2, ExpressEdition, 11g) and other little utilities (a testing framework, a subversion tool - TFS, a web browser, a bittorrent client, etc). All of this are compatible with Win2K3, as I previously checked.
Tnks
I only server OS as my workstation, I had Server 2003 before I switched to Server 2008. There's a guide you can find here http://www.msfn.org/win2k3/.
You shouldn't run into any problems. Most of windows xp drivers will work on server 2003, however, some apps won't. Especially those that check for the OS version before installing. But you shouldn't have any problems with VS2008, Expression and anything you posted.
For me the only thing that was troublesome was running iTunes on server 2003, it doesn't look as good.
And if you like the eye candy you can turn it on by starting the Theme service and changing a few settings.
You shouldn't run into any issues running those applications on Server 2003.
The last time I personally ran 2003 on a workstation the only real big change was changing the security settings of internet explorer.
If you run one of the free anti-virus software packages you may find that they will not install on a Server OS.
edit: As another poster has suggested I would also go straight to server 2008 if it is an options. Server 2008 runs very well as a workstation OS and if you're hardware supports it the virtual server works very well.
Here's links for turning 2003 into workstation:
http://www.google.com/search?hl=en&q=windows+server+2003+workstation+converter
If you'd like use Windows Server 2008 as a workstation, runs much better (faster) than a regular Vista install:
http://www.google.com/search?hl=en&q=windows+server+2008+workstation+converter&aq=1&oq=windows+server+2008+work
or try getting your hands on Windows 7 RC1 which runs quite well.
None of the software types you've listed has any workstation-biased dependencies that I'm aware of. Expression Blend may suffer a bit depending on your hardware and drivers, as WPF is a little more demanding of visual goo than most other development tools for Windows forms.

Is Vista Ultimate 64 w/SP1 okay for a development machine?

I am updating my rig and I need to make a decision between staying with XP x64 or going to Vista x64. I do very little development, really just building products from my developers. The other 90% of my work is done with Google Apps, Skype, Office, etc...
I want to upgrade to Vista not only because I will have 3x monitors running on DirectX10, but mostly because iTunes isnt' supported on XP x64!
So, my question...
With all the horror stories about Vista, will Vista Ultimate x64 with 8GB RAM be good for my development machine?
If I can't develop on Vista, I can always fire open a VPC to do the development in. No?
EDIT
I am using all Microsoft development tools...
VS.NET 2005
VS.NET 2008
VB6
SQL Server 2005/2008
ASP.NET
(.NET 2.0 & .NET 3.0)
I'm sure the software will run, I suppose I am not so sure that the OS will be speedy enough, or stable enough.
I am fine with Vista 64 bits for .net and php.
A lot of conversation about it are already on SO. Here is some important point your might take in consideration for .Net:
Unit Testing with NUnit
UAC with developpement
VS and Vista
A lot more...
You can develop for X86 on your new X64 machine without problem.
For PHP XAMPP work fine, Eclipse work fine too.
I run Vista x64 with 4GB of memory and haven't run into any major problems. Before this I was using Vista x86 and I definitely like x64 better as it seems more stable.
In case you're curious, with only (hehe, only!? amazing to say) 4GB of memory I can easily run:
3 instances of Visual Studio 2008 with Resharper
a couple Sql Management Studio instances
Outlook with 3 mail stores totaling # 2GB
Firefox with # 20 tabs
a bunch of Windows Explorer windows
Windows Media Player
iTunes (which is slow as a dog)
# 5 Excel and Word documents
plus some assorted services (eg, Sql Service 2005 and 2008) and status-area apps
Even with all this I still have roughly 750 MB free and no performance issues when using the applications.
I run Vista Business x64 SP 1 (8 GB RAM) for one month now. No problems so far. I'm using following software:
Visual Studio 2005 SP 1
Visual Studio 2008 SP 1
TortoiseSVN / VisualSVN
Visual SourceSafe (older projects)
SQL Server Client Tools
Firefox 3.01 + Firebug
IE 7 + Fiddler
Chrome
Red Gate SQL Compare / Data Compare
Virtual PC 2007 SP 1
Notepad ++
SyncBack
RoyalTS (RemoteDesktop Manager)
Skype
Office 2007
I used it for a long time before switching to Windows Server 2008 (x64) - was very good though,
Personally, I found Server 2008 to be a much better dev OS though. Check out this article on converting Windows Server 2008 to smell a little more like Vista.
I personally use Vista Ultimate x64 with 8GB RAM for my development machine. I don't quite have 3 monitors, but my machine is pretty well set up for development.
Vista x64 is great for .NET and Java. Started with 4GB RAM and that wasn't enough (hit 100% sometimes and the machine would slow to a crawl). 6GB is just barely enough. Hitting 95% memory usage sometimes and it slows down a little, but the machine doesn't go into a paging frenzy anymore.
I run Vista x64 Ultimate as my primary dev machine and it's just fine. Support for x64 has come a long way and for the most part you won't notice a difference except for program files location and much, much more RAM.
Vista will be plenty fast and stable. I'm using Vista x64 Ultimate for development #work right now, and have been for some time. I have nothing but good to say about it.
I'd say it depends on what you're developing. The first priority should be to make sure that all of your development and testing tools work properly under Vista x64. If they don't, there's no reason to suffer the pain of doing all your actual work in a virtual machine.
So I'd say the best thing to do is to take the plunge, see how it works, and keep the XP discs around. And should everything work as expected, it would still be prudent to have a copy of XP running in a VPC just for compatibility testing.
You will have to go XP-based Virtual Machine for any development in IE6. It is near-impossible to run that browser in Vista, let alone Ultimate.
Since a lot of government and legacy code base is against IE6, this happens a lot.
I've used Vista x64 as a development machine and have had only a few minor issues mostly related to using third party APIs in Visual Studio 2008. Just remember that if your getting a really unexplainable error within your Visual Studio project while utilizing a third party API - try compiling your app using the x86 CPU flag in your project settings. This has solved a few headaches for me here and there.

Resources