Showing posts with label .Net. Show all posts
Showing posts with label .Net. Show all posts

Tuesday, October 14, 2014

Want to help drive .NET forward? Here's your call to action and comment...

http://tirania.org/blog/ - .NET Foundation: Forums and Advisory Council

Today, I want to share some news from the .NET Foundation.

Forums: We are launching the official .NET Foundation forums to engage with the larger .NET community and to start the flow of ideas on the future of .NET, the community of users of .NET, and the community of contributors to the .NET ecosystem.

Please join us at forums.dotnetfoundation.org. We are using the powerful Discourse platform. Come join us!

Advisory Council: We want to make the .NET Foundation open and transparent. To achieve that goal, we decided to create an advisory council. But we need your help in shaping the advisory council: its role, its reach, its obligations and its influence on the foundation itself.

To bootstrap the discussion, we have a baseline proposal that was contributed by Shaun Walker. We want to invite the larger .NET community to a conversation about this proposal and help us shape the advisory council.

...

.NET Foundation - .NET Foundation Advisory Council Call for Public Comment

Friends in the .NET community,

When the .NET Foundation was created, there was an important principle that the foundation and its work be transparent, open, and community driven. In order to ensure that the foundation delivers on this primary objective, the board of the .Net Foundation asked Shaun Walker, who has a long history leading and contributing to .Net open source projects, to develop an initial proposal for a community based advisory council to help guide the governance of the .NET Foundation. That proposal is now available for community comment.

There are many reasons we feel that an advisory council is needed. Our goal is to ensure that the foundations operation and governance is both efficient and effective when viewed from a community building perspective. Some of the practical reasons for the creation of the council are:

  • Providing a clear communication channel between the community and the board on the foundations community building activities. To provide a channel for community stakeholders to provide feedback and guidance on the foundations value proposition, governance model, and other important foundation level decisions.
  • Provide a set of known, high profile individuals who can advocate for and evangelize the benefits and services provided by the .Net foundation and evangelize the foundation’s mission.
  • Establishes a group of individuals, experienced in open source community cultivation and project governance, who can provide stewardship, education and leadership to open source .NET projects of all size, popularity, and stature.
  • To augment the capacity of the board, and distribute work of the foundation across more community members to increase the governance bandwidth of the foundation.

The proposal outlines the rationale for the advisory council, along with ...

What is the .NET Foundation?

We foster open development, collaboration and community engagement on the .NET platform. The .NET Foundation is the steward of a growing collection of open source technologies for.NET, Microsoft’s comprehensive development framework. The .NET Foundation includes popular open source .NET projects such as the .NET Compiler Platform (“Roslyn”), ASP.NET MVC, Xamarin's Mimekit and Mailkit, and many others.

Background

Announced at the Build 2014 conference, the .NET Foundation was created as an independent forum to foster open development and collaboration around the growing collection of open source technologies for .NET....

image

Think of it as where ASP.NET vNext lives... (So yeah, it's kind of a big deal)  Visual Studio "14" CTP 2 is now available. There's many more CTP's coming, ALL CAPS are not, no TFS "14" CTP's, don't side-by-side this CTP and more...

Thursday, October 09, 2014

MVVM Light V5 for Windows, Xamarin and * (pretty much everywhere you'd want to .NET MVVM)

Laurent Bugnion (GalaSoft) - Announcing MVVM Light V5 for Windows and Xamarin

Here at the Xamarin Evolve conference in Atlanta, I just announced the immediate availability of MVVM Light V5. This version runs on the following platforms:

  • Windows Presentation Foundation (3.5, 4, 4.5, 4.5.1)
  • Silverlight (4 and 5)
  • Windows Phone (7.1, 8, 8.1 Silverlight, 8.1 RT)
  • Windows Store (8, 8.1)
  • Xamarin Android
  • Xamarin iOS
  • Xamarin Forms

What’s new?

There are three major changes in this version: Xamarin Support, NavigationService and DialogService, and Portable Class Library support.

...

Visual Studio Gallery - MVVM Light (VS2013)

image

The MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Windows 8, Silverlight, WPF, Windows Phone, Xamarin Android and Xamarin iOS. It is a light and pragmatic framework that contains only the essential components needed. It includes classes such as RelayCommand, Messenger, ViewModelBase and ObservableObject, SimpleIoc and more.

MVVM Light Toolkit (http://www.mvvmlight.net/)

Jump to: Intro / Documentation / Installation and Creation / Source and Codeplex / Support / Donate / Credits / Praises

...

Introduction

The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone.

The MVVM Light Toolkit helps you to separate your View from your Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications and allows you to have a much thinner user interface layer (which is more difficult to test automatically).

This toolkit puts a special emphasis on the "blendability" of the created application (i.e. the ability to open and edit the user interface into Blend), including the creation of design-time data to enable the Blend users to "see something" when they work with data controls.

...

My current workday MVVM framework of choice is Caliburn.Micro, but I keep seeing more and more projects using MVVM Light, to the point where I think I'm going to have to check it out... That and it's hard to beat how portable it is. :)

Wednesday, October 08, 2014

The Xamarin.Forms excitement continues to build, getting broad third party support and more...

Like I said here, Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one), Xamrin.Forms is generating allot of excitement in the .NET/Xaml space and the excitement continues to build with the announcement of top tier third party support. Infragistics and Syncfusion both just announced support for Xamarin.Forms, among other top tier vendors, Enterprise Component Vendors Join Xamarin.Forms Ecosystem. Heck, even Microsoft is getting into the game!

Infragistics - Announcing Infragistics Xamarin.Forms!

I am very excited to announce a new partnership with Xamarin and our newest product release to compliment our Native Mobile story with Visual Studio – Infragistics Xamarin.Forms.

image

Over the last few years we have invested heavily in the native UI controls - we have an iOS control set, Android control set and Windows Phone control set.  Up until now, the target developer for these control sets were your objective-C, Java or Windows Developer.  Now with Infragistics Xamarin.Forms, the market is super-expanded - any Visual Studio, C#, XAML Developer can now write once, a single codebase, and then take our new Xamarin.Forms product with Xamarin’s product and ship native apps that target each major platform in no time..

There are a ton of reasons why this is so exciting, but from a pure cost perspective, using the technology from Infragistics & Xamarin, a company does not need to invest in the training and time loss of learning a new platform – using current C# & XAML skillsets native apps can be churned out in no time compared to building a native experience from scratch on each major mobile platform.  Add the long-term maintenance costs of bug fixes, feature changes, UI updates and more, and you are looking at a significant cost savings if you have a single code base to maintain while still having the benefit of native apps on each major platform.  Pretty cool!

So what exactly are we shipping today?

...

Syncfusion - Essential Studio for Xamarin has Arrived

As part of our participation in the Xamarin Evolve 2014 conference this week, Syncfusion is excited to reveal a new control suite for cross-platform mobile development: Essential Studio for Xamarin. We’ve incorporated some of your favorite data visualization and file-format components from Syncfusion with Xamarin.Forms, an API that enables developers to use a single C# codebase to build UIs for iOS, Android, and Windows Phone apps.

image

Native apps built with Essential Studio for Xamarin

Essential Studio for Xamarin is MVVM-compatible and includes a total of six Syncfusion controls. The Chart, TreeMap, and Gauge UI tools provide enterprise-grade processing and interactive visualization for your business data. File-format APIs XlsIO, DocIO, and PDF allow users to easily read, write, and edit Excel, Word, and PDF files on any device.

With Essential Studio for Xamarin, you can:

...

Multilingual App Toolkit's blog MAT v4.0 Technical Preview adds Xamarin support

The Multilingual App Toolkit v4.0 Technical Preview adds support for VS + Xamarin based iOS and Android projects.  We are super excited (just had to say it) about adding MAT’s localization workflow for developers using Visual Studio and Xamarin to create great cross-platform apps! You can download it here

I am fortunate enough to be in attendance at Xamarin Evolve 2014 this week. On Monday I attended a training session presented by Craig Dunn on Xamarin localization.  Craig did a great job covering localization in general, then focused on iOS and Android projects specifics as well as RESX with Xamarin Forms.  Craig’s demo code is available on GitHub.  So of course I wanted to see how the v4.0 technical preview would handle the code.  The demo is pre-populated with the target RESX files, so I simply removed them before using MAT v4.0 preview to add Japanese (JA) and Arabic (AR).  After generating translating using the default translation providers.  As you can tell from the images below everything worked as expected.

image

...

Given Xamarin Evolve 2014 still has a couple days to go (ends on the 10th), and given all the other announcements Xamarin have made, such as Xamarin Platform Previews, Introducing Xamarin Insights: Real-time Monitoring for Your Apps and New Xamarin Test Cloud Features I wonder what else we'll hear and see?

 

Related Past Post XRef:
Cool Preview eBook of the Day: "Creating Mobile Apps with Xamarin.Forms" by Charles Petzold (Yes, that one)

Tuesday, October 07, 2014

Looks like .NET vNext IS going to be .NET 4.5.3 (maybe)...

.NET Framework Blog - Announcing October 2014 Updates to .NET Framework vNext, ASP.NET vNext and .NET Native in Visual Studio “14” CTP4

Today, we are announcing updates to the .NET Framework vNext, ASP.NET vNext and .NET Native. These are all available in Visual Studio “14” CTP4. This .NET Framework release contains RyuJIT, the next generation X64 JIT. ASP.NET vNext contains major improvements in the runtime and Visual Studio Experience. Additionally, .NET Native contains a small set of fixes for reported issues. Please download these .NET releases with Visual Studio “14” CTP4 and give us feedback.

.NET Framework vNext

Today’s release of .NET Framework vNext adds RyuJIT and ~ 150 new APIs. We have released multiple standalone versions of RyuJIT, after introducing you to it almost exactly one year ago. RyuJIT is the new Just-In-Time (JIT) compiler, now integrated into the .NET Framework and enabled by default for 64-bit processes.

We’ve added ~150 new APIs across the product to make many scenarios easier. We’ve also updated ~50 more APIs (mostly types). In particular, we sprinkled IReadOnlyCollection<T> in more parts of the Framework libraries to make collections easier and more intuitive to use.

You can see the changes in this diff from the .NET Framework 4.5.2 to .NET Framework 4.5.3.

You may be wondering when we’ll ship a separate redistributable for the .NET Framework vNext, like we’ve had for all other .NET Framework versions. We haven’t forgotten about it. It’s still coming.

...

ASP.NET vNext

...

.NET Native

...

Summary

..."

I blogged about this in August, .NET vNext doesn't currently look like it's side-by-side "5.x," instead it's an in-place update like a 4.5.+ (so maybe 4.6'ish... ?), but this is the first time I think I've seen an official'ish post giving it a version number, 4.5.3...

Now, we're still a ways from RTW, but the picture appears to be getting a little clearer...

BTW, the mentioned Diff spreadsheet is interesting (if you find that find of stuff interesting at least). Here's a snap of it.

image

 

Related Past Post XRef:
.NET vNext doesn't currently look like it's side-by-side "5.x," instead it's an in-place update like a 4.5.+ (so maybe 4.6'ish... ?)

Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Thursday, October 02, 2014

Problems installing .NET 3.5 on Windows 8 or Windows Server 2012 R2? Like error: 0x800F0906? Check for an already in-place 3.5 Update...

I thought it interesting and kind of telling that these two different (through very similar, same base, etc) platforms have this same issue...

Also these two posts are nice guides if you run into other related kinds of problems like this...

Ask Premier Field Engineering (PFE) Platforms - Attempting to Install .NET Framework 3.5 on Windows Server 2012 R2 Fails with Error Code 0x800F0906 or “the source files could not be downloaded”, even when supplying source

In one of my prior posts, I mentioned a step required when installing .Net Framework 3.5 on Windows Server 2012 or later operating systems. Specifically, I mentioned the need to supply the source for the .Net files because this is one of the few components we do not stage to the component store on Windows Server 2012 and later. One of the bullets in the things to keep in mind section at the bottom of this blog reads:

If you are attempting to install .Net Framework 3.5 on Windows Server 2012, instead of specifying the install.wim, you need to specify the Sources\SxS directory on the DVD or if providing the source, the files in the SXS directory copied from the DVD are just for .Net Framework 3.5. You can host them on a share and supply them through the GUI or through Group Policy just like any other feature.

Recently one of my customers ran into an issue when attempting to install .Net Framework 3.5 on Windows Server 2012 R2 using the following command:

Install-WindowsFeature –name NET-Framework-Core –source F:\sources\sxs

F:\ is the mounted Windows Server 2012 R2 ISO.

Yet it still failed with the following error:

The request to add or remove features on the specified server failed. The source files could not be downloaded. Use the "source" option to specify the location of the files that are required to restore the feature. Error: 0x800F0906

image

...

So why are we getting these errors despite supplying the source?

We released a security update in August 2014 that updates .Net components. The security updates are as follows:

KB2966828: MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8.1 and Windows Server 2012 R2: August 12, 2014

KB2966827: MS14-046: MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8 and Windows Server 2012: August 12, 2014

If either of these updates are installed, you will run into the above issue if your server does not have access to the Internet to pull the updated components.

How do we resolve this?

Since this customer’s servers do not have internet access, in their case, they did the following:

1) Uninstalled the security update

2) Installed .Net Framework 3.5 (which installed without error)

3) Reinstalled the update

Take a look at the following TechNet article for .Net Framework 3.5 deployment considerations:

http://technet.microsoft.com/en-us/library/dn482066.aspx

Here’s a link to the official Knowledge Base article on this issue:

https://support.microsoft.com/kb/3002547

How do you keep from running into this in the future?

I personally recommend that you proactively enable .Net Framework 3.5 on the server images and templates in your environment to prevent having to troubleshoot or take additional steps such as this going forward.

MSMQ from the plumber's mate - Windows 8–can’t install .Net Framework 3.5 (0x800F0906, 0x800F081F)

"I’d recently put Windows 8 on a test machine at work and started installing what software I needed. Pretty quickly I found I needed to install .Net Framework 3.5 which is now a ‘Feature’ instead of a separate download.

...

Error code 0x800F0906 leads you to troubleshooting articles such as:

.NET Framework 3.5 installation error: 0x800F0906, 0x800F081F, 0x800F0907

http://support2.microsoft.com/kb/2734782

...

Looking in the list of installed updates, I found I had KB2966827 present:

MS14-046: Description of the security update for the .NET Framework 3.5 on Windows 8 and Windows Server 2012: August 12, 2014

http://support2.microsoft.com/kb/2966827

Now why do I have a .NET Framework 3.5 hotfix installed on a machine that hasn’t yet had .NET Framework 3.5 installed?!

The presence of the hotfix meant the installation was always expecting to find newer files than came with the Windows 8 source files.

As soon as I uninstalled the hotfix, I could add the .NET Framework 3.5 feature and start using my applications.

..."

Wednesday, September 24, 2014

.NET Micro Framework gets VS 2013 support and more!

.NET Framework Blog - .NET Micro Framework now supports Visual Studio 2013

Today the .NET Micro Framework team is releasing a beta update of the .NET Micro Framework SDK that adds support for Visual Studio 2013. The release also contains other improvements that will benefit developers and hardware partners, making the install and update experience better.

Check out the .NET Micro Framework Team blog, and the Netmf.com site to learn more about .NET Micro Framework and this release. Read the Microsoft Open Technologies blog to learn more about this open source project and community engagement.

You can download the .NET Micro Framework SDK 4.3.1 (SDK R2 Beta) update from our Codeplex site. Please try it out, provide feedback and start contributing to the open source project.

Supporting for Visual Studio 2013

The .NET Micro Framework SDK now supports Visual Studio 2013. That’s welcome news, since ...

The new approach also helps hardware partners. .NET Micro Framework hardware vendors can now support multiple Visual Studio versions with a given piece of hardware and firmware. That also streamlines the overall experience for app developers, too.

A first glimpse at the upcoming support for Visual Studio “14”

The .NET Micro Framework team is looking ahead and has already started to enable support for Visual Studio “14”....

...

.NET Micro Framework is Open Source

The .NET Micro Framework is an open source project from Microsoft, licensed as Apache 2. It is developed by Microsoft engineers assigned to Microsoft Open Technologies and by others in the maker community. Hardware makers are able to use the .NET Micro Framework code from the Codeplex project without any additional license or paying any fee to Microsoft.

Next Steps

The .NET Micro Framework SDK 4.3.1. (R2 Beta) release brings key improvements and updates. ..."

This is very welcome news! In one of my not-so-secret lives, you know I'm a blogger for Microsoft Channel 9's Coding4Fun blog, where every Friday I do a Hardware Friday post (to give everyone something fun to build on the weekend of course!). One of my pet peeves when highlighting .NET Micro Framework projects was the lack of VS 2013 support. One peeve crossed out now. :)

 

Here are some more links of interest;

"Learning to Master Cross-Platform Mobile Development With Xamarin" Free (Name-Email-ware) eBook

Jesse Liberty - Free e-Book: Learning to Master Cross-Platform Mobile Development With Xamarin

The good folks at Falafel have put together all my posts (to date) on  Xamarin and Xamarin Forms into an e-book, which is available free at http://jliberty.me/masteringXamarinBook

image

Some snips from the PDF...

imageimageimage

Tuesday, September 16, 2014

.NET Universe Poster, 2014

Microsoft Downloads - .NET Universe Poster - 2014

image

.NET Universe Poster (2014) showing the main .NET SDKs, libraries and packages classified by application type and package type (NuGet, official support, etc.)

Version: 2014

Date Published: 9/15/2014

File Name: poster2014_.pdf, 14.6 MB

This poster shows how the trends are changing in .NET as we´re moving from a single large .NET Framework to a more loosely coupled and autonomous libraries and sub-frameworks, many of them even published as NuGet packages and evolving continuously. The number of those libs and packages is evolving and growing, so having a visual photo of it can be helpful. The main idea of the poster is to show that you can create any kind of application with .NET, from the largest applications to the smaller apps: in the cloud, on the web, on desktops, tablets, phones, and in embedded environments (even watches!). Any of those application types is shown as category/bucket in the poster and within each bucket we´re tossing the main libraries/SDKs/packages out. Then we´re also showing cross-cutting concerns buckets like Security, Data Access, and .NET Extension libs.

The main categories are the following:

- Emerging application patterns (Mobile, Web & Cloud)

- Established application patterns (Desktop and Embedded)

- Cross-Cutting concerns Finally, the poster is putting a check/mark on every lib/SDK bullet depending if they are or not complaint with the following:

- NuGet package

- Open Source

- Microsoft Official Supported

You can print it out or use it as in electronic format (.PDF). Using the electronic format (.PDF) allows you to access each content URL/page related.

Interesting growth and evolution from last year (The .NET Universe Poster for 2013 is now available)..

 

Related Past Post XRef:
The .NET Universe Poster for 2013 is now available

Wednesday, September 10, 2014

What's new in C# 6, VB 14? VS 14? Think "Developer Productivity versions"

Kathleen Dollard - Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14

Video Series on C# 6.0, Visual Basic 14 and Visual Studio 14I am really excited to be sharing a series of short videos on C# 6.0, Visual Basic 14 and Visual Studio 14. The series will be free and available at www.WintellectNOW.com

The first video is “The New Compilers” and is an overview of the next releases.

The second video “Simplifying Classes with C# 6.0” shows how to use auto-property initialization, getter-only auto-properties and primary constructors to create classes with simple code and immutable or mutable properties.

Next week I’ll dive deeper into auto-properties and primary constructors in C#.

Visual Basic folks can watch these videos for the basic concepts in this release, and I’ll focus some upcoming videos on Visual Basic 14 features.

..."

image

BillWagner  - Overview of C# 6 language enhancements

I was interviewed by Carl and Richard on .NET Rocks a bit ago to discuss the new features in C# 6, the upcoming version of C# that will ship with the next version of Visual Studio (link goes to CTP 3, current as of Aug 2014). You can learn all about the new version of C# at the Roslyn CodePlex site.

The initial buzz about the next version of C# centered around the implications that this compiler was a complete rewrite, written in C# from the ground up. You’ve probably heard quite a bit about how you can use the Roslyn APIs to inspect and modify code models programmatically. That is super cool, and much easier than using the earlier CodeDOM and Reflection.Emit functionality. It’s also an edge case for most of us. I’ve written very little code that uses either CodeDOM or Reflection.Emit. And, while it is also very cool that the C# compiler is now self-hosted (meaning it is written in C#), that will have very minimal affect on you either.

So what is new?

...

image..."

C#6/VB 14 are shaping up to be "the" developer productivity version. The scary thing? This wheel has just started rolling and we're just starting to see the promise of Roslyn/.NET Compiler Platform. The next couple years are going to be very exciting in the .NET world.

Wednesday, August 20, 2014

"Localization for .NET Succinctly"

Syncfusion - eBooks - Localization for .NET Succinctly

Learn to write applications that support different languages and cultures, with an emphasis on .NET development. With the help of author Jonas Gauffin, Localization for .NET Succinctly will help you become an effective developer in the global community.

..."

NOTE: Ignore the Table of Contents on the above web page... They are already working to fix that. I know it confused me too

image Doh!

Here are some snips of the real ToC from the PDF;

imageimageimage

Introduction
This book will introduce you to the world of globalization and localization. The goal is to give you a deeper understanding of how to write applications that support different languages and cultures. I’ll guide you through the basics and then go into different implementations.

The book is primarily focused on .NET.

The book also contains strategies for web development. The examples for web development are written using ASP.NET MVC and JavaScript/Globalize. You can however apply the sample principles in any other type of application.

In the book I’ll be using .NET 4. There are some minor changes compared to earlier versions. You can for instance assign a neutral culture to CurrentCulture (see first chapter for more information). There are also some new features in .NET 4.5 that have not been included in this book.

Throughout this book I’ll skip the terms localization (i10n), internationalization (i18n) and globalization. If you look them up, you’ll find as many definitions as there are developers.

...

Another link for you the author's, Jonas Gauffin, blog and post on this book.

 

Related Past Post XRef:
"Visual Studio 2013 Succinctly" free [reg-ware] now available from... you guessed it, Syncfusion
"Windows Phone 8 Succinctly - The practical approach to Windows Phone 8 development" eBook (Reg-ware)
Succinctly eBook of the Day: "Twitter Bootstrap Succinctly" [Reg-ware]
Need some help up the WPF learning curve? "WPF Succinctly" from Syncfusion is now available (and free :)
TypeScript Succinctly - Free [Name/email-ware] eBook
Getting sharp with F# with the free "F# Succinctly" eBook [reg-ware]
Syncfusion helps shed a little succinct light on LightSwitch with "LightSwitch Succinctly" (Reg-ware)
"JavaScript Succinctly" - Another free (reg-ware) eBook from Syncfusion
Get into sync with HTTP with the new free (reg-ware) Syncfusion Succinctly eBook, "HTTP Succinctly"
Spelunk the technical details of the PDF format with "PDF Succinctly" from Syncfusion (Free/reg-ware PDF/Mobi ebook)
"Git Succinctly" Free/reg-ware PDF/Mobi ebook)
jQuery Succinctly - Free eBook (reg-ware, PDF and/or Mobi)

Tuesday, August 19, 2014

The .NET Framework has LongPath (> MAXPATH) support? Yes! Well, kind of, it's private...

Did you know the .NET Framework has classes to handle "Long Paths" (i.e. Paths > MAXPATH)? How long have we been hoping for that? A decade+ (Look at my XRef below, been blogging about this since 2004... sigh). So when I saw them, I jumped for joy. Finally! Woot!

The problem is is that we can't use them! sigh...

They are private and not exposed for us to use, i.e. they are only .NET internal usage. And guess what? Had to chuckle at this, the .NET team uses them in the IsolatedStorage system. They handle their possible long path issues, but don't share. Didn't they go to kindergarten? Sharing is good! LOL

Think I'm smoking dope? Check this out...

system\io\longpath.cs

image image 

image

imageimage

.NET Framework Team, you guys are such a tease...  :)

Lets hope that maybe we'll see this, or something like it, publicly one day. We can only hope. In the mean time, there's a number of libraries you can use. I use AlphaFS mostly and while it's been around for a while, it's still alive and updates and fixes are still being checked in.

UPDATE (8/20/2014)

On the train into work today I realized that the LongPath.cs is focused on local drive only. It doesn't support file shares (i.e. \\?\UNC\...). Which makes since given its current use case, isolated storage (which is always local).

If you're spelunking that its source, keep this implementation limitation in mind...

 

Related Past Post XRef:
MAX_PATH got you down? Zoom over to the Zeta Long Paths project

AlphaFS v1.5 Released (think "The 'Long Path' IO support the BCL doesn't yet have..." or "Don't 'W' [Wide/Unicode API/etc] P/Invoke your Path API's when AlphaFS has done it already for you..." or "How I learned to love and use Volume Shadow Service paths from .Net")
AlphaFS – Some Max_Path, Transactional NTFS, hard links, and more .Net System.IO.File/Path/Directory Help (alpha)

Powering into RoboCopy with the PowerShell RoboCopy clone, RoboPowerCopy (which even includes Long Path support...)

The Long Path for the BCL Team
Introduction of the BCL CodePlex project (code samples, previews, prototypes, etc from the BCL team) – Includes “Long Path” library direct from the BCL Team (think “Breaking out of MAX_PATH”)

Subsytem for Unix (SUA) Utilities and SDK For Windows 2008 and Vista SP1
The PInvoke tool you've been looking for all this time... the "PInvoke Interop Assistant"
Using GetFileAttributes to Test for File Existence
Unicode Path Fun...

Monday, August 18, 2014

.NET vNext doesn't currently look like it's side-by-side "5.x," instead it's an in-place update like a 4.5.+ (so maybe 4.6'ish... ?)

We recently heard that after Jan 12, 2016, only .NET 4.5.2 would be getting technical support and security updates (Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)). In that same post there was mention about .NET vNext.

Today, we hear a little more about it and how we can start working with it (Visual Studio 14 CTP 3, which was also released today). But in reading the post it currently looks like the base .NET Framework vNext might be a 4.5.x or 4.6 kind of release. Now it's REALLY early in the release cycle and we're only talking CTP and there's a ton of other non base framework stuff we're getting, so don't freak out. Also Microsoft has been pretty clear that the base framework that we've known and lived with in the past is not going to be the primary deployment vehicle anymore....

In any case, here's the clip that I'm talking about;

.NET Framework Blog - Try out the new releases: .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT

Today, we are announcing updated versions of .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT. You can try out these new releases by installing Visual Studio “14” CTP3. Please tell us what you think.

The .NET Framework vNext

We are releasing an early build of the .NET Framework vNext with Visual Studio CTP 3. This early release includes a relatively small number of changes beyond what we shipped in the .NET Framework 4.5.2. Today’s release includes a handful of bug fixes, including many for WPF.

.NET Framework vNext is currently only available via Visual Studio 14 CTP3. We will include a separate installer later in the year. The .NET Framework vNext is an in-place update on top of the .NET Framework 4 and later versions. [GD: Emphasis added] It is supported on Windows Vista SP2, Windows Server 2008 SP2 and later versions. It does not yet have a “Go Live” license, so is not yet supported in production.

...

ASP.NET vNext...

.NET Native...

RyuJIT – Next Generation JIT Compiler...

..."

The in-place update makes it sound like the 4.5.1,4.5.2 kind of update... That it's not a stand alone, side-by-side kind of release we saw with 4, 4.5. Not sure if that's good or bad, and I can see both sides of that, but it is interesting as in my mind I was thinking we were about due for a new base, a side-by-side 5.x .Net. Looks like that's not the case.

Will be keeping an eye on this as the release progresses...

 

Related Past Post XRef:
Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Monday, August 11, 2014

Visual Studio Item, Project Templates? SideWaffle!

You all already follow my Microsoft Channel 9 posts, right? Like this morning's Coding4Fun Blog post, No waffling here... SideWaffle and a step-by-step guide to create Visual Studio Item Templates?

So I don't need to tell you just how cool I found SideWaffle to be? What, you might have missed it? Well then...!

SideWaffle 

Templates for Visual Studio 2012/2013

Download a delicious side dish for Visual Studio

SideWaffle is an extension

The SideWaffle extension adds a bunch of useful Snippets, Project- and Item Templates to Visual Studio. The purpose is to make your daily work in Visual Studio a richer and more productive experience.

Content
  • Project templates
    • Basic Scaffolder
    • Blank App
    • Browser Link Extension
    • Browser Link Extension (simple)
    • Caliburn.Micro WPF Application
    • Code Snippet Extension
    • Console Application Async
    • Durandal451
    • Google Chrome Extension
    • Google Chrome Theme
    • Google Chrome Web Store App
    • HTML5 Boiler Plate v4.3
    • Nancy demo
    • Nancy empty project with ASP.NET host
    • Nancy empty project with ASP.NET host and Razor
    • Nancy empty self hosted
    • Nancy empty self hosted with razor
    • Nancy with ASP.NET host
    • Nancy with ASP.NET host with Razor
    • Nancy with self host
    • Nancy with self host with Razor
    • Template from html5up.net
    • Windows Azure WebJobs Console Application
  • Item templates
    • _preprocess.xml
    • A basic NuGet .nuspec file
    • An advanced NuGet .nuspec file
    • AngularJs Controller using $scope
    • AngularJs Controller using 'Controller as'
    • AngularJs Directive
    • AngularJs Factory
    • AngularJs Module
    • AngularJs TypeScript Controller using $scope
    • AngularJs TypeScript Controller using 'Controller as'
    • AngularJs TypeScript Directive
    • AngularJs TypeScript Factory
    • AngularJs TypeScript Module
    • ASP.NET Scaffolding T4 files.
    • Basic build script
    • Basic props file
    • Basic SignalR Hub and HTML Client Page
    • Basic targets script
    • Browser Link extension (VS2013 only)
    • Build script with NuGet automatic package restore.
    • Caliburn Micro Bootstrapper
    • CKEditor plugin
    • Code Snippet
    • Customize ASP.NET T4 Files
    • DurandalJs Controller
    • DurandalJs main.js
    • DurandalJs Service
    • DurandalJs ViewModel
    • Editor Drop Handler class
    • Empty PowerShell file
    • Favicon .ico File
    • FirefoxOS manifest
    • GruntJS configuration file
    • HTML Smart Tag (VS2013 only)
    • HTML Validator Class (VS2013 only)
    • HTML Whitespace Removal HttpModule
    • Humans.txt File
    • Jasmine Spec and HTML files
    • Jasmine Spec file
    • JavaScript IIFE
    • JavaScript IIFE Module/Namespace
    • jQuery Plugin
    • JSHint Ignore File (.jshintignore)
    • JSHint Rules File (.jshintrc)
    • JSON Schema File
    • JSON Schema Selector Extension
    • Karma Configuration File
    • Knockout Custom Binding
    • Mocha Test Framework
    • Nancy bootstrapper
    • Nancy module
    • Ninject Controller Factory
    • NUnit Fixture
    • Offline Application Cache Manifest
    • Package Definition (.pkgdef)
    • Package.json for NodeJS
    • QUnit Spec and HTML files
    • QUnit Spec file
    • Readme.md File
    • Readme.md Markdown File
    • RequireJs File
    • Robots.txt File
    • SideWaffle Definitions Folder
    • SideWaffle Item Template
    • SideWaffle Project Template Files
    • SVG File
    • TinyMCE plugin
    • TSLint Rules File (tslint.json)
    • VS Command Table (.vsct)
    • Web API 2 Empty Controller
    • WebVTT File
    • Windows Azure Blob Upload Helper
    • Windows Azure Cloud Service Plugin
    • Windows Azure Table Storage Entity
  • Snippets
    • Angular Controller
    • Angular Directive
    • Angular Service
    • Cross Browser Background Linear Gradient
    • Cross Browser Background Radial Gradient
    • Dispose
    • Nancy - Delete
    • Nancy - Get
    • Nancy - Head
    • Nancy - Options
    • Nancy - Patch
    • Nancy - Post
    • Nancy - Put
    • WCF Client Usage
Open Source

SideWaffle is open source and everyone is invited to contribute. The code is on GitHub.

The entire project is 100% community driven.

See what I mean? How cool is that!

And make sure you don't miss Richard Kerslake's post, A step by step guide to developing Visual Studio item templates using SideWaffle

 

Places you can find me on Channel 9;

Thursday, August 07, 2014

Using .NET 4, 4.5, 4.5.1? Only 4.5.2 will be receiving technical support and security updates after Jan 12, 2016 (so start your 4.5.2 planning/deployment...)

.NET Framework Blog - Moving to the .NET Framework 4.5.2

"...

The quick pace at which we’re evolving and shipping means the latest fixes, features, and innovations are available in the latest version and not in legacy versions. To that end, we are making it easier than ever before for customers to stay current on the .NET Framework 4.x family of products with highly compatible, in-place updates for the .NET 4.x family.

We will continue to fully support .NET 4, .NET 4.5, .NET 4.5.1, and .NET 4.5.2 until January 12, 2016, this includes security updates as well as non-security technical support and hotfixes. Beginning January 12, 2016 only .NET Framework 4.5.2 will continue receiving technical support and security updates. There is no change to the support timelines for any other .NET Framework version, including .NET 3.5 SP1, which will continue to be supported for the duration of the operating system lifecycle. [GD: Emphasis added]

We will continue to focus on .NET and as we outlined at both TechEd NA and Build earlier in 2014, we are working on a significant set of technologies, features and scenarios that will be part of .NET vNext, our next major release of the .NET Framework coming in 2015.

...

[Read the full post]"

Pretty clear, start moving to .Net 4.5.2 soon. No, the world will not end, but still being on a "supported" .NET version is pretty darn important.

BTW, did you catch the .NET vNext coming is in 2015? Nice to see that in print... :)

 

Related Past Post XRef:
Microsoft .NET Framework 4.5.2 Released
.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Wednesday, August 06, 2014

How portable is your application? - The .NET Portability Analyzer knows...

Beth Massi - Channel 9 Interview - Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

A couple weeks ago when I was up in Redmond I had the pleasure of interviewing some interns on the .NET team to talk about their experience as an intern at Microsoft and to show off the projects they are working on.

In this first interview I sit down with Charles Lowell, a Software Development Engineer in Test. He has been working on a cool Visual Studio extension called the .NET Portability Analyzer. As developers need to target more and more platforms this tool can be a big help in analyzing how portable your .NET code is. It gives you a quick overview of the changes that you would need to make in order to be able to port your code to a given platform. 

Watch: Fun with the Interns: Charles Lowell on the .NET Portability Analyzer

image

...

.NET Framework Blog - Leveraging existing code across .NET platforms

Today we are happy to announce the alpha release of the .NET Portability Analyzer extension for Visual Studio. Please try it out. This add-in was created by our software developer intern Charles Lowell.

Over the last few years, consumers and enterprise employees are using more devices than before which run different operating systems like iOS, Android, Windows Phone, and Windows 8. As a result developing apps for different platforms is almost a requirement now. With the release of the .NET Portability Analyzer extension we are integrating the ability to reason about portability of your existing code into your development environment. This will allow you an easy way to understand how portable your code is and get recommendations to write your code so that your code just works across platforms.

You may have seen Tech Ed 2014 announcements & .NET blog post on “Targeting Multiple Platforms”. This post continues from there.

Understanding portability with Visual Studio

In our previous post we introduced the command line .NET Portability Analyzer. However, we felt that the acquisition and discovery of the tool for developers would be aided if we were to integrate the experience into VS. Additionally the integration into Visual Studio allows us to pinpoint the source locations where incompatible APIs are found to be. You can download it here. ...

...

image

...

Wrapping Up

Using this tool enables you to quickly get a high level understanding of the work that needs to be done to port to a given platform. While it may appear that you would need to do work every time that you want to target a new platform, we on the .NET framework team are working to enable a vision of single .NET surface area. Our goal is to have parity across the APIs that we expose on our Modern framework stacks. The only reason for a missing API would be its lack of applicability to a given application model or platform.

The introduction of the Visual Studio extension makes it easy to reason about the migrating of code to a new platform. Depending on what your business requirements are you can easily prioritize and understand the costs of supporting a new platform. In addition this tool give us insights into the biggest pain points that you face when migrating your code. We would love to hear your feedback on how to make this tool better! Please let us know what you think by either leaving a comment on this post or reaching out to the team at NETAPIPort@Microsoft.com.

Visual Studio Gallery - .NET Portability Analyzer

How portable is your application?

The .NET Portability Analyzer helps you determine how flexible your application is across .NET platforms.

Features:

· Analyze assemblies for compatibility with your target platforms

       Get a report gauging the portability of your application:

image

..."

Need I really say more?

Wednesday, July 30, 2014

Using the OpenXML SDK Productivity Tool to "decompile" Office documents (Turn *X files into the C# OpenXML SDK code that would generate them)

Ode To Code - Easily Generate Microsoft Office Files From C#

"...

These days, Office files are no longer in a proprietary binary format, and are we can create the files directly without using COM automation. A .docx Word file, for example, is a collection of XML documents zipped into a single file. The official name of the format is Open XML.

There is an SDK to help with reading and writing OpenXML, and a Productivity Tool that can generate C# code for a given file. All you need to do is load a document, presentation, or workbook into the tool and press the “Reflect Code” button.

image

The downside to this tool is that even a simple document will generate 4,000 lines of code. Another downside is that the generated code assumes it will write directly to the file system, however it is easy to pass in an abstract Stream object instead.

So while this code isn’t perfect, the code does produce valid document and..."

I've been blogging about the OpenXML SDK for years now, but I think this is the first time I've seen this part of it, this utility. And like he says, 4K LoC is like, well, allot, it does look like an awesome way to learn the low level OpenXML SDK ins and outs.

 

Related Past Post XRef:
Open Sesame - Open XML SDK is now open source

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

Using OpenXML SDK to generate Word documents via templates (and without Word being installed)
Checking for Microsoft Word DocX/DocM Revisions/Track Changes without using Word... (via OpenXML SDK, LINQ to XML or XML DOM)
LINQ to XlsX... Using VB.Net, LINQ, the OpenXML SDK and a little C# helper, to query an Excel XlsX
Using native OpenXML to create an XlsX (Which provides an example of why I highlight tools that make OpenXML easier...)
Generating Xlsx's on the Server? You're using OpenXML, right? With help from the PowerTools for OpenXML?

Official boat-load, as in supertanker, sized OpenXML content list (Insert "One OpenXML content list to rule them all" here)
So how do I get from here to OpenXML? Got a map for you, an Open XML SDK Blog Map…
Where to go to scratch your OpenXML dev info itch…
"Open XML Explained" Free eBook (PDF)
The Noob's Guide to Open XML Dev (If you know how to spell OpenXML but that's about it, this is your Getting Started guide...)

Reusing the PowerShell PowerTools for Open XML in your C# or VB.Net world
PowerShell, OpenXML, WMI and the PowerTools for OpenXML = Doc generation for our inner geek
Because it’s a PowerShell kind of day… PowerTools for Open XML V1.1 Released
OpenXML PowerTools updated – Cell your Excel via PowerShell
Powering into OpenXML with PowerShell

Open XML SDK 2.0 for Microsoft Office Released – Automate Office documents without Office

Open XML 2.0 Code Snippets for VS2010 (and VS2008 too)
Open XML Format SDK 2.0 Code Snippets for Visual Studio 2008 – 52 C#/VB Code Snippets to help ease your Open XML coding
Open XML File Format Code Snippets for Visual Studio 2005 (Office 2007 NOT required)

Open XML SDK v1 Released

OpenXML Viewer 1.0 Released – Open source DocX to HTML conversion, with IE, Firefox and Opera (and/or command line) support

Tuesday, July 29, 2014

FiddlerCore [Yes, that Fiddler]Core - A .Net Library that lets you add a little Fiddler to your apps

Rick Strahl's Web Log - Using FiddlerCore to capture HTTP Requests with .NET

Over the last few weeks I’ve been working on my Web load testing utility West Wind WebSurge. One of the key components of a load testing tool is the ability to capture URLs effectively so that you can play them back later under load. One of the options in WebSurge for capturing URLs is to use its built-in capture tool which acts as an HTTP proxy to capture any HTTP and HTTPS traffic from most Windows HTTP clients, including Web Browsers as well as standalone Windows applications and services.

To make this happen, I used Eric Lawrence’s awesome FiddlerCore library, which provides most of the functionality of his desktop Fiddler application, all rolled into an easy to use library that you can plug into your own applications. FiddlerCore makes it almost too easy to capture HTTP content!

For WebSurge I needed to capture all HTTP traffic in order to capture the full HTTP request – URL, headers and any content posted by the client. The result of what I ended up creating is this semi-generic capture form:

image

In this post I’m going to demonstrate how easy it is to use FiddlerCore to build this HTTP Capture Form. 

If you want to jump right in here are the links to get Telerik’s Fiddler Core and the code for the demo provided here.

Note that FiddlerCore is bound by a license for commercial usage – see license.txt in the FiddlerCore distribution for details.

...

[A whole bunch cut out]

Summary

FiddlerCore is a pretty sweet tool, and it’s absolutely awesome that we get to plug in most of the functionality of Fiddler right into our own applications. A few years back I tried to build this sort of functionality myself for an app and ended up giving up because it’s a big job to get HTTP right – especially if you need to support SSL. FiddlerCore now provides that functionality as a turnkey solution that can be plugged into your own apps easily.

The only downside is FiddlerCore’s documentation for more advanced features like certificate installation which is pretty sketchy. While for the most part FiddlerCore’s feature set is easy to work with without any documentation, advanced features are often not intuitive to gleam by just using Intellisense or the FiddlerCore help file reference (which is not terribly useful). While Eric Lawrence is very responsive on his forum and on Twitter, there simply isn’t much useful documentation on Fiddler/FiddlerCore available online. If you run into trouble the forum is probably the first place to look and then ask a question if you can’t find the answer.

The best documentation you can find is Eric’s Fiddler Book which covers a ton of functionality of Fiddler and FiddlerCore. The book is a great reference to Fiddler’s feature set as well as providing great insights into the HTTP protocol. The second half of the book that gets into the innards of HTTP is an excellent read for anybody who wants to know more about some of the more arcane aspects and special behaviors of HTTP – it’s well worth the read. While the book has tons of information in a very readable format, it’s unfortunately not a great reference as it’s hard to find things in the book and because it’s not available online you can’t electronically search for the great content in it.

But it’s hard to complain about any of this given the obvious effort and love that’s gone into this awesome product for all of these years. A mighty big thanks to Eric Lawrence  for having created this useful tool that so many of us use all the time, and also to Telerik for picking up Fiddler/FiddlerCore and providing Eric the resources to support and improve this wonderful tool full time and keeping it free for all. Kudos!

Resources

...

" [Click through for the rest... yes, you'll want too... oh just click already... ;]

I was first going to ask "When did Telerik buy Fiddler?" but then saw I already blogged about that almost two years ago. sigh... darn old brain.

Anyway, this is the first I'd heard of FiddlerCore (I think, lol) and Rick does a great job of introducing it and running it through its paces. If you need to packet/network sniff in your apps (i.e. you've said to your self, "Self, I wish I could build something like Fiddler into my app," well you can! (and stop talking to yourself, it's a little creepy ;)

 

Related Past Post XRef:
Fiddler (yes, that Fiddler) has been acquired by Telerik... [Updated with snips from Chris and Eric, Fiddler = Free++]

What do Fiddler, LinqPad, Excel and SharePoint have in common? Testing and consuming OData of course!
Fiddling as the web burns (or how to find out why it's burning) - “Debugging with Fiddler" book now available
eXpert Web Performance Analysis via Fiddler - Microsoft neXpert Performance Analysis Plugin [For Fiddler]
15 Second Introduction to Fiddler
Fiddler 2.1 Released...
Fiddler2 (Fiddler + HTTPS) Alpha Released
Microsoft Fiddler 1.2 Released and now Officially Out of Beta
Fiddler PowerToy - Part 1: HTTP Debugging
Fiddler HTTP Debugger - Fiddler

Thursday, July 17, 2014

Make your Debugger feel Pretty, with help from DotNet Pretty your Debugger*Attribute helper

<gordon's blog/> - Introduction to DotNet Pretty

Some Background on why

Another thing that come out of last weeks training was Visual Studio Debuggers. This lead to me finding the coolest visualizer ever called TPL Dataflow Debugger Visualizer which allows you to easily visualize your TPL Dataflow

image

Because I found this awesome visualizer I decided that everything while debugging could be awesome if there were more of these so I have created a GitHub project called DotNet Pretty where I plan on creating many visualizers to really try light up the debugging experience.

What is DebuggerDisplayAttribute?

In case you don't know DebuggerDisplayAttribute is used when you want to have a "pretty" representation of the properties in your class when seeing it in the debugger.

...

It doesn't seem like such a big deal with 1 object but think of how easy it would be to know stuff about objects when they in a list if they each implemented this attribute. Now obviously to use the attribute like this you need to own the object so you can add the attribute and release it.

DotNet Pretty's first contribution

The first contribution to DotNet Pretty is one that was used in the training which allows you to use the DebuggerDisplay Attribute in a different way.

Code

This time you specify the target in the attribute like below...

image

...

How is the TDL Dataflow visualizer done?

In short the TPL Dataflow visualizer uses the DebuggerVisualizerAttribute which looks something like below

image

I will do a in detail post on DebuggerVisualizer Attribute when I add one to DotNet Pretty. For now though you can browse the source code of the TPL Dataflow Debugger Visualizer on CodePlex.

So what's the plan?

My plan at the moment is to find the .net types that I use most and implement visualizers for them. I'm planning on trying to get some nice ones in for TFS objects like Work Items. I'm hoping that others will use this library of visualizers and fork the code and help grow it.

...

We, well I, really don't much action, press, chatter about Debugger*Attribute usage. That's why when I saw TPL Dataflow Debugger Visualizer I had to queue it up for a Coding4Fun Blog post. Now Gordon's post. Looks like it's time for a little Debugger*Attribute resurgence doesn't it?

Wednesday, July 16, 2014

Using OpenXML to load an Excel Worksheet into a DataTable (or just how different OpenXML is from the old Excel API we're used too)

dotnet thoughts - Read Excel as DataTable using OpenXML and C#

In the current project we were using OpenXML extensively for reading Excel files. Here is the code snippet, which will help you to read / convert Excel files to DataTable.

image

..."

You've heard me whine about how, while OpenXML is cool and how nice it is that we can access Office 2007+ files without Office or third party apps, yet the API is pretty darn different for traditional Office Object Model users? This screenshot shows why... Parts, SharedStringTables, oh my... It's not hard, just takes a while to wrap your head around.

Wednesday, June 25, 2014

.NET Framework setup verification, cleanup tool and detection code (C++) updated for 4.5.2

Aaron Stebner's WebLog - .NET Framework setup verification tool, cleanup tool and detection sample code now support .NET Framework 4.5.2

I have posted updated versions of the .NET Framework setup verification tool, the .NET Framework cleanup tool, and the sample code to detect .NET Framework install states that support detecting, verifying, and cleaning up the .NET Framework 4.5.2. You can find more information about how to download and use these tools at the following locations:

Besides the two cool tools Aaron mentions (which are must haves for anyone troubleshooting .NET installs), if you're writing code to detect what version of the .NET framework is installed on a given machine you HAVE to check out his post;

Sample code to detect .NET Framework install state and service pack level

...

.NET Framework versions that can be detected by the sample code

The sample code available via this article supports detecting the install state and service pack level for the following versions of the .NET Framework:

  • .NET Framework 1.0
  • .NET Framework 1.1
  • .NET Framework 2.0
  • .NET Framework 3.0
  • .NET Framework 3.5
  • .NET Framework 4 (Client and Full)
  • .NET Framework 4.5
  • .NET Framework 4.5.1
  • .NET Framework 4.5.2

...

image..."

 

Related Past Post XRef:
Microsoft .NET Framework 4.5.2 Released

Two Terrific Troubleshooting Tools -The .NET Framework Cleanup and Setup Verification Tools

.Net 4 Client Profile/Full silent install/repair/uninstall command line options