Posts Tagged ‘development’

.NET Version Detector 21 R1

December 9, 2021

ASoft .NET Version Detector supports all latest updates of .NET 4.8.
Support for Windows 11/Server 2022 has been added
.NET 5 & .NET 6 are also supported!
More information on .NET and .NET Core can be found via this link: https://dotnet.microsoft.com

Get the latest version at http://www.asoft.be/prod_netver.html

How to retrieve the product type of Windows Home Server 2011

May 22, 2011

Windows Home Server 2011 has three product editions:

  • Windows SBS 2011 Essentials incorporates best-of-breed 64-bit product technologies for data backup and restore, remote access, file and printer sharing, and quick connection to the cloud—in one fully integrated solution.
  • Windows Home Server 2011 is the server platform that’s designed specifically for families and how they access their digital data. It helps to simplify and connect your family’s photos, videos, music, and TV by providing a familiar and easy way to share, store, stream, and automatically protect what’s most important. It supports up to 10 users.
  • Windows Storage Server 2008 R2 Essentials is the ideal storage server solution to help home-based and small business owners keep important data automatically backed up, protected, organized, and accessible from virtually anywhere. Built on the Windows Server 2008 R2 operating system, it streamlines access to centralized files for up to 25 users.

If you are writing an addin and you want to know what version your addin is running on, then this simple class will be very helpful to you.

The way we retrieve this information is via the Windows API GetProductInfo:
private const int PRODUCT_HOME_SERVER = 0x22;
private const int PRODUCT_SB_SOLUTION_SERVER = 0x13;
private const int PRODUCT_HOME_PREMIUM_SERVER = 0x32;

[DllImport(“kernel32.dll”)]
private static extern bool GetProductInfo(int dwOSMajorVersion, int dwOSMinorVersion, int dwSpMajorVersion, int dwSpMinorVersion, outuint pdwReturnedProductType);

///<summary>
/// WHS Edition
///</summary>
public enum WHSEdition
{
///<summary>
/// Unknown Edition
///</summary>
Unknown = 0,
///<summary>
/// Windows Home Server 2011
///</summary>
Standard = 1,
///<summary>
/
// Windows Small Business Server 2011 Essentials
///</summary>
SmallBusinessEssentials = 2,
///<summary>
/// Windows Storage Server 2008R2
///</summary>
StorageServer = 3
}

///<summary>
/// Retrieves the WHS Edition that the application is running on
///</summary>
///<returns>WHSEdition</returns>
public static WHSEdition GetWHSEdition()
 {
uint pdwReturnedProductType;

GetProductInfo(Environment.OSVersion.Version.Major,
Environment.OSVersion.Version.Minor,
0,
0,
out pdwReturnedProductType);

switch (pdwReturnedProductType)
{
case PRODUCT_HOME_SERVER: return WHSEdition.Standard;
case PRODUCT_SB_SOLUTION_SERVER: return WHSEdition.StorageServer;
case PRODUCT_HOME_PREMIUM_SERVER: return WHSEdition.SmallBusinessEssentials;
default: return WHSEdition.Unknown;
}
}

You can download the class sourcefile here.

Windows Home Server 2011 Release Candidate & new SDK are out!

February 5, 2011

Windows Home Server Vail; now known as Windows Home Server 2011 has been released as Release Candidate!

You can find the WHS SDK over here and if you want to try out WHS2011 yourself, download it over here.

There are already a lot of reviews/discussions out there, I’ve gathered some links for you to read:

Creating a client side installer for Vail

December 16, 2010

This is an article that shows an example of how to create a Client Side installer for Vail, that can be distributed to the client machines.
The Windows Home Server Development Kit-2 is needed and the Windows Home Server SDK.
Make sure you read the DevKit-2 first, before starting with this article.

You can find the article here.

Have fun!

WHS DevKit 2 updated

August 26, 2010

Version 1.1 of the WHS DevKit 2 has been published.
This Kit is an all-in-one package on how to create/build/install and addin for Vail, so if you want to have a go at it take the kit and have fun!

This new version has been updated to support the latest version of Windows Home Server: build 7659.
It contains a lot more information with regards to the first version of the kit; on the various aspects of developing an addin for Vail and now also has a section on how to build an installer too.

You can find it here.
The Vail SDK can be found here.

If you have comments, remarks, ideas, tips, additions,… don’t hesitate to contact me at contact (at) asoft-ware.com.

Developing an add-in for Vail

May 5, 2010

Vail (Windows Home Server version 2) can be extended with add-ins, just like with version 1. (see www.whsplus.com for lots of add-ins)
Or have a look at my add-ins AutoExit & AdminiMe.

Microsoft has made available the SDK to start developing the add-ins for Vail.
The downside is…that version-1 add-ins are NOT compatible with version 2! There is a whole new API to learn and your add-in needs to be converted.

I prepared a document to guide you along the way of creating your first ever Vail add-in.

But be warned:
– It is still very basic, just plain and simple.
– It is not fit for any production system.
– It’s only inteded for developers that want to have a try at starting to create an add-in. Nothing fancy yet.
– The installation mechanism isn’t described yet. Only how to configure your system to start coding, code a sample and test it on your server.
But it should get you on your way to start getting your hands dirty in the new Vail SDK. Have fun! 😉

You can find it here.
The Vail SDK can be found here.

If you have comments, remarks, ideas, tips, additions,… don’t hesitate to contact me at contact (at) asoft-ware.com.
More articles will follow later,
Nick

A small update to the Newbie WHS Developer Kit

January 9, 2010

Christoph from HomeServerBlog made me aware that there was a problem with the C# template file contained in the Kit.
If you have the bad file you won’t see the template added in Visual Studio and there will be an error in the Event Viewer:
Log Name: Application
Source: Visual Studio – VsTemplate
Event ID: 1
Level: Warning
Keywords: Classic
Description: One or more Visual Studio templates is invalid and will not be displayed.

I added the correct file to the Developer Kit and it should work now.
For the rest there are no changes made to the Developer Kit.
You can download it here.

‘Newbie WHS Developer Kit’ Released

December 8, 2009

Problem in the past for newbie WHS developers, was that documentation/information on how to build add-ins, use the API’s etc… was scarce.
At the time I started developing AutoExit (2007) there wasn’t a lot of info, but luckily you had guys like Brendan Grant that hacked it and documented stuff. 😉

Now fastforward to 2009 and you will find a lot more info: on MSDN, Brendan Grant, Sam Wood have great tutorials, I have tutorials (see on this blog),…
Problem still is, that as a newbie you have all these resources but how & where do you start? You can use Sam Woods tutorials that walk you through step by step, then look into Brendans documents to get info on the controls e.g and read mine to use certain undocumented classes, use the Microsoft forums,…

What I tried to do is create 1 package with all kinds of tutorials by combining them and walking you through the different steps of setting up a development environment up until the release, but also by including on how to create help files, localize an add-in, test it, release it,…

Luckily I got permission from Sam Wood to include his articles so that I didn’t have to re-write big parts that already existed and I also got Brendan’s permission to use his info.
Which of course helped a lot to decrease the time to get this out to you guys! 😉

I hope by creating such a ‘bundled package’  that a newbie WHS developer has a guide to walk him/her through the whole process and at the end have an add-in that is ready for the public to use.

Now this kit/documentation is what Sam likes to call a ‘living document‘, which means it constantly changes and is basically never finished.
It is still rough around the edges and probably still contains some mistakes, so if you have remarks/ideas/fixes/… let me know and maybe I can include them!

A note before you begin: Do not send WHS development related questions to me or anyone else that helped in creating this guide.
Use the Microsoft forums and people will try to answer as much as possible over there, like works now.
Only contact me in private if you have questions/… regarding the kit itself.

I would like to thank Sam for helping me by donating his articles and for reviewing the document/kit + giving feedback.
And the same for Brendan who also let me use his articles.

Enjoy & go spread the word!
You can download it here.

It would be nice if you started your ‘WHS add-in author career’ with this guide, that you mention it on your site and link back to this blog/article + send me information about your add-in. I can then also post it on this blog.

Undocumented WHS Classes: NetworkUtils

October 8, 2009

Another small class, in the series of undocumented API’s in Windows Home Server.

This new article describes the undocumented functions in the NetworkUtils class which is located in WHSCommon.dll.
This class contains 2 handy functions to get IP/Mac address of the server & the IP of the router.

void GetRouterIPAndServerMAC(out string ip, out string mac)
Get the IP address of the router and mac address of the server.

Sample code
string ip, mac;
NetworkUtils.GetRouterIPAndServerMAC(out ip, out mac);

Sample output
IP: 172.19.3.1
MAC:00-19-DB-7B-6D-35

string GetServerIP()
Get the IP address of the server.
Sample code
string serverIp = NetworkUtils.GetServerIP();

Sample output
IP: 172.19.3.10

So as you see, two very easy to use functions, that a very handy!
You can follow ASoft @Twitter: http://twitter.com/asoftware

Have fun!