WCF test client redistribution - wcf

I am working on a product which provides WebServices and clients often need some simple client to test them. WCFTestClient Tool is really good for that purpose.
Is it legal to include WCFTestClient Tool from Visual Studio as a part of you product's installation ?

Go to the MS user terms:
Search for Visual Studio (version you own), and check it's EULA (available in pdf).
EDIT: for my VS2012 Pro found this:
ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.
...
b. Utilities. The software contains certain components that are identified in the Utilities List located at go.microsoft.com/fwlink/?LinkId=247624. Depending on the specific edition of the software, the number of Utility files you receive with the software may not be equal to the number of Utilities listed in the Utilities List. You may copy and install the Utilities you receive with the software on to other third party machines. These Utilities may only be used to debug
and deploy your programs and databases you have developed with the software. You must delete all the Utilities installed onto a third party machine within the earlier of (i) when you have finished debugging or deploying your programs; or (ii) thirty (30) days after installation of the Utilities onto that machine.
BUT,
there is no WcfSvcHost/TestClient in that list (go.microsoft.com/fwlink/?LinkId=247624).
I assume you can distribute both without any restrictions

Related

How do I create a WCF Service Library project in Visual Studio 2017?

I need to develop an application for my distributed computing class, with one central server and multiple graphical clients. I was thinking of trying WCF for this, since I am already familiar with making .NET standalone desktop applications using Windows Forms or WPF.
Since I have never worked with WCF before, I am trying to follow a tutorial posted on MSDN, which has defining a service contract as its first major step.* Part of this involves creating a WCF Service Library project, which is supposed to be available as a template under the language of my choice (I am going to use C# here). However, I do not see this project template listed as an option in the new project dialog, and looking for WCF in the search bar returns no results.
How can I make this project template available for use in Visual Studio 2017?
* It should probably be noted that the tutorial mentions that it is written with Visual Studio 2012 in mind. Has anything changed since then that I should be aware of as far as the tutorial is concerned?
Open the installer, choose Individual Components and scroll down to Development Activities. Check the WCF checkbox:
I ended up re-running the Visual Studio Installer to modify my current setup. WCF is not explicitly listed anywhere, but I figured it might have been included as part of the .NET Core or ASP.NET workloads (which were not marked for installation the first time around). After adding these workloads to my installation and restarting Visual Studio 2017, I can now see the WCF project templates listed under C#.

How do I use a SharePoint List as a Data Source?

I'm creating a VB-based application in Virtual Studio 2013, and up until now I've been testing the tables used for its operation in a local MDF file. Obviously, I need to find a better solution for deployment as this will need to be used by multiple users. I decided to go with a SharePoint list for ease of access and better local control. (We have SharePoint Server 2010 running)
When I try to add a SharePoint Connection in the Server Explorer, it tells me I don't have Foundation or Server installed. Checking our corp's software request tool, I didn't find either of those. There's a 'SharePoint Designer' option, and another that sounds promising is 'Microsoft SSIS SharePoint List Adapters with SharePoint'. I couldn't find any info online about whether those would fit the bill. Would either of those serve the purpose of standing in for Foundation or Server? If not, I'm sure I could find a way to request Foundation but I'm sure that would add quite a bit of delay while they vet it for business use.
Also, if I install the necessary software for development on MY machine, will those dependencies be included in the executable so my clients wouldn't have to install those SharePoint tools as well?
If you want to access and manipulate with your sharepoint list from your code, you can look at Sharepoint CSOM. It allows you to remotely connect and proceed CRUD operations with sharepoint list.

Databases, Office and Visual Basic.NET

I'm currently writing a program which will need to incorporate writing its output to a database rather than flat text files.
I know that if you use a Database system like SQL Compact, when you build and publish the program (or just build and distribute), your client will have to download and install SQL Compact Server.
My question is:
When using the built in Microsoft Office exports (like writing a Word File, or Writing an excel file), does the client need to have Microsoft Office installed on their machine to make use of these?
When writing to an Access Database, does the client user need to have Microsoft Access installed on their computer?
I'd appreciate any response.
Yes to Excel. You could create the Access database via ADO or ODBC, and that comes with Windows itself. You could store data from your app there, and the clients would use it through your app (or any other that can connect via ADO/ODBC).
Using the MS Office COM automation requires that the MS Office product be installed on the machine running the automation.
There are third-party code libraries that replace that functionality with their own code, meaning your app could create it's own Excel-compatible files. However, your users would still need Excel to use them.
You can also use other databases (eg., MySQL, Firebird, SQLite, and others) that are available that wouldn't necessarily cost your client anything if they installed it (or, for some, if you included it in your installation for them).

WCF service deployment - tools

There is a WCF service which is running under IIS. This service accesses the files in its folder, it accesses a SQL Server database and it writes messages to the EventLog.
The deployment platform is Windows Server 2008 in some datacenter. I developed the service, but I'm really still a beginner.
The deployment will causes the creation of a new Windows user account and, possibly, a role that is assigned to that user. This is needed to start the service from a separate account with strictly defined rights (as I understand, this approach is recommended, but not to start the service from NT Service account).
Obviously, the deployment needs to run scripts to create database, tables, scheduling of tasks.
What tools could you advice to accomplish such a deployment? Maybe I can use the standard Setup Project? Or some third-party tools such as WiX Toolset? Should I use PowerShell to create windows user account and role?
There is also a question: should I pull the prerequisites, such as .NET framework installer, SQL Server installer?
You can rely on Windows installer using tools like WIX, InstallShield or Advanced Installer. WIX is the only free one albeit it has a higher learner curve. There are other free windows installation software solutions available as well such as NSIS. You can also write your own scripts such as in Powershell to create the IIS virtual directory, application pool and connect to the RDBMS to create the schema. You'll probably also would like to have an undeployment solution so you can uninstall it and upgrade it in the future. The Windows installer based tools almost gives you uninstall for free because it maintains a database of everything that was done during installation sans the custom actions you write such as the database schema setup.
For the user configuration part, some of these tools such as Advanced Installer can create new user accounts. However to define user rights assignment you might have to rely on a custom script using ntrights.exe from the Windows resource kit.
As of my knowledge there is no automated deployment tool available for WCF because its require lots of manual configuration.
But you can try Octopus for .NET applications
http://www.paulstovell.com/octopus/intro

How to Distribute Compiled Windows 8 Metro Applications without Windows Store?

I am just curious if there is a way to package up a Windows 8 Metro application to distribute it to others with the Windows 8 Developer Preview installed? It would be nice to be able to allow someone to just download and install, rather than requiring them to install VS'11 Preview and compile the code themselves in order to test out / use a Windows 8 Metro application that I've built.
Is there a way to distribute a compiled Windows 8 Metro application for others to test/use since the Windows Store is not yet live?
This would likely be useful for testing Metro apps on non-development machines even after the Windows Store is live.
Each machine that wants to install the application will need a developer license. See this page for some details.
When you have your app ready:
select Store->Create App Package
Select Build a package to use locally only
Follow the prompts
This will create a package in whatever folder you specified. You should be able to copy that to another developer-licensed machine and install it.
There will be a batch file called Add-AppxDevPackage in the directory. Running it will install the app. It must be run as an admininistrator.
Distributing apps outside store is possible after complying to the prerequisites listed in this MSDN article. It also covers the process of application installation using PowerShell. Though it appears quite complicated, note that MSIs work fine for Windows 8 metro apps so you can probably enclose the installation process into one small instalator.
From the article
Requires Windows 8 Enterprise Edition, and must be joined to a domain, and the domain must have the Allow all trusted applications to install Group Policy setting.
for Windows 8 Professional, and Windows RT, or a non-domain joined machine, you must buy a sideloading product activation key from Microsoft
the application must be signed by a key that is trusted by the computer
Once you've purchased your sideloading product key from Microsoft, add the sideloading product key:
>Slmgr /ipk <sideloading product key>
To enable side-loading, enable the following guid:
>slmgr /ato ec67814b-30e6-4a50-bf7b-d55daf729d1e
To add an application, from a powershell prompt:
>add-appxpackage C:\app1.appx –DependencyPath C:\winjs.appx
Windows 8.1 Update
According to the latest announcements by Microsoft the next update to Windows 8.1 will allow all the devices running the Pro version to sideload applications without sideloading activation key. So far this has been the case only for the Enterprise version. Bare in mind that the machine will still need to be a part of the AD domain. Additionally, if you still run a previous version but you're part of any of the below programs:
Enterprise Agreement
Enterprise Subscription Agreement
Enrollment for Education Solutions (under a Campus and School Agreement)
School Enrollment
Select and Select Plus
You'll be granted the enterprise sideloading rights starting on the 1st of May 2014. Otherwise you'll still be able to sideload but will need to buy a sideloading activation key for 100$ (that's a one-time charge for an unlimited number of devices).
If I recall correctly from the white paper, then a Windows 8 Metro application can only be installed by consumers from the App Store.
However there will be a way provider for developers (as explain by Stave Rowe) and a way for corporations to installed Windows 8 Metro application directly, I expect the corporation method will be by using Active Directory (group policy), but may be limited to some editions of Windows 8.
You can distribute the Windows 8 App package and deploy the same using the Side loading process
Refer this link for more details about side loading
http://technet.microsoft.com/en-us/library/hh852635.aspx