Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Does Microsoft require third party .NET applications to meet any minimum standards for things like application security or code quality?

share|improve this question
    
@DocBrown Unless I seriously misread it, this question seems answerable enough as is. –  Anna Lear Sep 3 '11 at 16:03
    
@Anna Lear: after reading the answers, I suspect I finally got what the OP meant - nethertheless the whole question seems to very absurd (so absurd that I was believing the OP must have meant something different). What should Microsoft do when I write a .NET application which does not meet any standard - sue me? –  Doc Brown Sep 3 '11 at 16:59
3  
@Doc There are platforms that exercise tighter control over application quality, so I can see how a question like this would come about. It may be naive but it's not stupid, if you know what I mean. –  Anna Lear Sep 3 '11 at 17:12
1  
@Anna: well, if the OP meant "does MS require certain standards for your .NET apps for Windows Phone when you want to sell it through their appstore / marketplace", that would have make sense. But that was not the question, and since the OP is not not going to clarify so far, we can only guess. –  Doc Brown Sep 3 '11 at 17:34
1  
To be clear, Is your question concerned about the warning windows 7 give while installing 3rd party applications ?? –  Pankaj Upadhyay Sep 3 '11 at 17:44
show 2 more comments

3 Answers

up vote 13 down vote accepted

Microsoft does not impose any minimum quality or security requirements on the applications built on the .NET on the desktop and on the web.

We all want applications to be secure and of high quality, but there is no certification process for desktop and web .NET applications. It is up to individual developers and their employers (if any) to ensure quality.

The .NET platform also extends to the mobile market and there Microsoft has application certification requirements that a Windows Phone application must meet in order to be listed in the Windows Phone Marketplace. According to that page, the core requirement categories are:

  1. Reliability;
  2. Efficient use of resources;
  3. Lack of interference with other phone applications;
  4. Absence of malicious software.

For games developed on the XNA platform, there are different standards for indie games and professional ones. Indie games go through a community-driven peer review before they can be published on XBox Live. I can't find a link to a description of the process major game releases go through, but from my combined developing and gaming experience I imagine it is also pretty rigorous.

share|improve this answer
add comment

You may be confusing the idea of Microsoft's ownership of the .NET platform with control of that platform. Although Microsoft can direct and modify the platform itself as they see fit, they do not exercise control or claim rights over any software written to target the platform. If they did, it would be platform suicide--few third-party software vendors would willingly write code that Microsoft could then "veto."

The same is true of the Java platform: Oracle controls its future direction, its development, and its core features, but third-party developers create software to run on the platform independently of Oracle.

share|improve this answer
    
It doesn't seem to me like iPhone and iPad development has suffered too much from Apple's "platform suicide" of being able to "veto" any application developed for them. –  Michael Kjörling Sep 3 '11 at 17:41
    
The iPhone and iPad are specific, very popular consumer devices. You can't develop for them without targeting Apple's closed platform. PC and server software is a different issue entirely; it's often written for higher stakes, by larger companies, targeting different markets. –  syrion Sep 3 '11 at 21:09
add comment

Microsoft itself has common guidance on how secure your code should be. For starters, there is a Microsoft Security Development Lifecycle (SDL). The MS SDL also contains further guidance to fulfill common compliance such as HIPAA.

Visit Microsoft SDL: http://www.microsoft.com/security/sdl/default.aspx

Code quality in .NET can be achieved if you meet common guidelines for good codes (taken from Microsoft's best practices):

  • Secure by default
  • Secure by design
  • Secure in deployment

More on this: MS SD3 Video

But the best way to implement these are by practising these into everyday habits of developing software, especially when writing codes.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.