Coming Soon to Xbox Game Pass: Wolfenstein II: The New Colossus, Wargroove, and More – Xbox Wire

*Alarm blares*


Whoa, you would not believe the dream I just had! I was driving along the countryside when I took a wrong turn, hit a random turbo boost, flew into the sky, and ended up on Mars! That seemed normal, but the weird part came when knights and pirates started flying toward me from out of nowhere. Oh, and did I mention that everyone was block-shaped? This hasn’t been the first time I’ve had this dream either. Maybe I should stop having strawberry milkshakes before bed. Or maybe I’ve just been thinking about all the games coming to Xbox Game Pass.

I should point out, if you’re looking for less random dreams and more actual memes, check out our Xbox Game Pass Instagram and Twitter accounts. Also, be sure to check out our Xbox Game Pass mobile app so you can discover and download new games immediately when they become available. Consider it a helpful tip from a well-rested gamer. Either way, there’s a lot of thoughts to process here, so let me tell you all about them:

Wolfenstein II: The New Colossus(May 2)

Play as war-hero BJ Blazkowicz and lead the second American Revolution by recruiting a band of resistance fighters to hunt down the evil Frau Engel and dismantle her Nazi war machine. Armed with powerful weapons and dynamic combat abilities, fight your way across an American landscape twisted by Nazi occupation. Only you have the guns, guts, and gumption to liberate America.

Wargroove (May 2)

When war breaks out in the Kingdom of Cherrystone, the young Queen Mercia must flee her home. Pursued by her foes, the only way to save her kingdom is travel to new lands in search of allies. But who will she meet along the way, and what sinister challenges will she face?

Descenders 1.0 (May 7)

Descenders is extreme downhill mountain biking with real consequences. Power down a variety of increasingly treacherous slopes and mountains, including icy peaks, dusty canyons, and dense jungles, in more than half a billion levels across nine different environments. Head out into the world either on your own, with a set of friends, or with a band of strangers who are ready to ride alongside you. Will you be King of the Hill?

Surviving Mars (May 9)

You must construct a self-sustaining colony capable of supporting human life on Mars. This is no walk in the park thanks to the Red Planet’s hostile environment, limited access to resources, and lack of breathable air – all not exactly human friendly. To ensure your colony’s survival, you’ll need to balance everything from life support to resource management and more. But all is not lost! There are things you can do to help your budding colony along the way such as researching new technologies and uncovering the secrets of Mars to make sure your colonists are happy and healthy.

Tacoma (May 9)

The Venturis Corporation wants its AI back. That’s where you come in. At the heart of Tacoma is the facility’s digital surveillance system, which has captured 3D recordings of pivotal moments in the crew’s life on the station. As you explore, echoes of these captured moments surround you. You’ll use your ability to rewind, fast-forward, and move through the physical space of these complex, interwoven scenes to examine events from every angle and reconstruct the multi-layered narrative.

Black Desert (May 9)

Experience fast-paced combat and an immersive story within an expansive world just waiting to be explored. Black Desert chronicles a conflict between two rival nations, the Republic of Calpheon and the Kingdom of Valencia. During your action-packed journey you are accompanied by a Black Spirit – a companion whose destiny is intertwined with your own – as you discover the secret of the Black Stones and the history of their corrupting effects in this massive MMORPG on Xbox One.

For the King (May 10)

Embark on a perilous adventure in this strategic RPG that blends tabletop and roguelike elements in a challenging journey spanning the realms. Set off on a single player experience or play cooperatively both online and locally as you attempt to discover the mystery surrounding the King’s death and bring order back to the realms. And as an added member benefit, Xbox Game Pass members can play the game three days before its launch, starting on May 7!

The Surge (May 16)

Welcome to CREO, the megacorporation saving our world! You’re knocked out by a catastrophic event during your first day on the job and wake up in a destroyed section of the complex. From robots gone haywire, out of control augmented co-workers, and rogue AI – everything wants you dead. Equipped with a heavy-grade exoskeleton, you must defy deadly enemies and huge bosses in tight, visceral melee combat. Slice limbs off your foes to take advantage of the next-gen loot system, where you loot what you dismember and craft new weapons and armors from the spoils!

LEGO Batman 3 (May 16)

The Caped Crusader joins forces with the superheroes of the DC Comics universe and blasts off to outer space to stop the evil Brainiac from destroying Earth. Using the power of the Lantern Rings, Brainiac shrinks worlds to add to his twisted collection of miniature cities from across the universe. Now the greatest superheroes and the most cunning villains must unite and journey to different Lantern Worlds to collect the Lantern Rings and stop Brainiac before it’s too late.

Enjoy these content updates with Xbox Game Pass:

Oh, and did we mention that we have a present for you, since we love you so much (and you read down this far)?  Soccer meets driving in Rocket League, an award-winning, physics-based multiplayer-focused mash-up! Choose from a variety of high-flying vehicles and show off your Xbox fandom with the Xbox Customization Pack. This pack includes: Wheels, Boost, Octane Decal, and Player Banner and is free to all Xbox Game Pass members. The pack is available first to Xbox Game Pass members ‪until July 15*, when it becomes available to all Xbox players.

And don’t sleep on these awesome free updates to games already available with Xbox Game Pass:

  • Minecraft Village & Pillage update- Discover the most adventurous update yet! Defend against new threats, build with new blocks, and experience life in all-new villages.
  • Sea of Thieves is celebrating a year of adventures! Now that’s a lot of gold and bananas. In their Anniversary Update, they’ll be introducing Tall Tales – Shores of Gold, The Arena, and The Hunter’s Call starting today! State of Decay 2 came out with their Create Your Own Apocalypse content update, expect to see deadlier zombies, a faster-acting blood plague, and hostile humans capable of scoring lethal headshots. Not the kind of dream we expected.
  • Human: Fall Flat gets dark with their new Dark Level Update. It’s the biggest and most graphically stunning level yet! Play now with your friends.

You know, describing my dreams to you has been so helpful. Way more helpful than staring at inkblots and trying to guess if I see a butterfly or a goblin or something.

Join Xbox Game Pass Today

With over 100 high-quality games and new games added all the time, Xbox Game Pass is the new way to discover your next favorite game. If you haven’t tried Xbox Game Pass, join today and get your first 3 months for $1.

Editor’s Note: We have updated the post to include one more title coming to Xbox Game Pass in May.

Go to Original Article
Author: Microsoft News Center

New capabilities enhance Acquia Cloud security

New capabilities for Acquia’s cloud aim to protect user data easily and securely. Updates to Acquia Cloud include tools that the company claims can boost security innovation and maintain digital compliance.

Acquia Cloud, built on AWS infrastructure, is a PaaS offering from Acquia’s suite of content management technologies, Acquia Experience Platform. Acquia Cloud enables enterprise users to build and manage Drupal-based websites and experiences.

The new Acquia Cloud security and compliance capabilities intend to give enterprises high-level data protection without the burden of security and operations teams. The vendor claimed, as the scope of digital offerings is constantly expanding, these features and updates will warrant the more extensive data protection that its cloud can provide:

  • An upgraded single sign-on service protects sensitive information by unifying internal and external user authentication.
  • Log forwarding and security information and event management integration gives users more visibility to improve incident detection and response.
  • Acquia Cloud Shield’s virtual private cloud peering offering allows users to connect their AWS-hosted VPCs. Users can also use a self-service UI to manage access to their VPCs.
  • Support for Federal Information Processing Standard 140-2 maintains cryptographic module security compliance for federal customers.

These new capabilities — in combination with Acquia Cloud’s existing Drupal-tuned platform stack, scalable and secure infrastructure, and site health and monitoring tools — will reduce costs, simplify site management and increase innovation, according to the vendor.

Acquia Cloud — typically compared to cloud-based content management systems like Microsoft Azure, Pantheon and Sitecore — sets itself apart with its flexible integrations and Drupal developer support, according to the vendor.

In March, Acquia achieved the AWS Digital Customer Experience Competency status for content management. And in 2018, it was placed in Gartner’s Leaders quadrant of the Magic Quadrant for Web Content Management.

Go to Original Article

For Sale – Mini Water Cooled i7 4770K 256SSD GTX970

Coolermaster Case I thinks it’s the Elite 110 so 210mm x 260 x 280 H x W x D

Water Cooled I7 4770K

Asus Z971 Plus MB WiFi

Coolermaster 800W Silent Pro Gold

Zotac GTX 970 GPU

Team Group Xtreem DDR3 1333 8GB

Samsung 256GB M2
WD Black 500GB Sata

W10 Pro

PC is pretty quiet unless gaming – never had a problem with it. Plays games at 1080p on high settings. Will throw in a Dell S2309WB 1080p monitor and KB/Mouse with all cables.

Price and currency: £350
Delivery: Delivery cost is not included
Payment method: BT cash on collection
Location: Leicester LE7
Advertised elsewhere?: Not advertised elsewhere
Prefer goods collected?: I prefer the goods to be collected

This message is automatically inserted in all classifieds forum threads.
By replying to this thread you agree to abide by the trading rules detailed here.
Please be advised, all buyers and sellers should satisfy themselves that the other party is genuine by providing the following via private conversation to each other after negotiations are complete and prior to dispatching goods and making payment:

  • Landline telephone number. Make a call to check out the area code and number are correct, too
  • Name and address including postcode
  • Valid e-mail address

DO NOT proceed with a deal until you are completely satisfied with all details being correct. It’s in your best interest to check out these details yourself.

Go to Original Article

Calling Windows 10 APIs From a Desktop Application just got easier – Windows Developer Blog

Today, we are pleased to announce we posted on a preview of the Windows 10 WinRT API Pack. By using these NuGet packages, you can quickly and easily add new Windows functionality to your applications like Geolocation, Windows AI, Machine Learning, and much more. 
We have posted 3 packages: 

Each package includes all of the Windows Runtime (WinRT) APIs included with each specific Windows release. These are preview packages, so please give us feedback and watch for updates to the known issues on our repository.    

Previously, in order to access the Windows API surface from your WPF or Winforms app, you needed to specifically add contract files and other reference assemblies to your project. With this release, you can simply add a NuGet package and we will do the heavy lifting to add the contracts. 
In addition, when using the NuGet packages, updating to the latest Windows Runtime (WinRT) APIs in your project will be as simple as checking for an update to the NuGet package.   

Step 1: Configure your project to support Package Reference  
Step 2: Add the Microsoft.Windows.SDK.Contracts NuGet package to your project  

Open the NuGet Package Manager Console  
Install the package that includes the Windows 10 Contracts you want to target. Currently the following are supported:  

Windows 10 version 1803 
Install-Package Microsoft.Windows.SDK.Contracts -Version 10.0.17134.1000-preview  
Windows 10 version 1809 
Install-Package Microsoft.Windows.SDK.Contracts -Version 10.0.17763.1000-preview  
Windows 10 version 1903 
Install-Package Microsoft.Windows.SDK.Contracts -Version 10.0.18362.2002-preview 
Step 3: Get coding 
By adding one of the above NuGet packages, you now have access to calling the Windows Runtime (WinRT) APIs in your project.   
For example, this snippet shows a WPF Message box displaying the latitude and longitude coordinates: 

private async void Button_Click(object sender, RoutedEventArgs e)
    var locator = new Windows.Devices.Geolocation.Geolocator();
    var location = await locator.GetGeopositionAsync();
    var position = location.Coordinate.Point.Position;
    var latlong = string.Format(“lat:{0}, long:{1}”, position.Latitude, position.Longitude);
    var result = MessageBox.Show(latlong);

Adaptive code for previous OS 
Each package includes all the supported Windows Runtime APIs up to Windows 10 version of the package.  If you are targeting earlier platforms, consider only offering functionality available on the detected platform version.  For further details, see the following article: Version adaptive code. 
For additional information on calling Windows 10 APIs in your desktop application, please see the following article: Enhance your desktop application for Windows 10. 
If you want to check out a project that is already using these NuGet packages, see: 

VA and Microsoft partner to enhance care, rehabilitation and recreation for Veterans with limited mobility – Stories

Xbox Adaptive Controllers will be distributed across facilities within nation’s largest integrated health-care system

WASHINGTON — April 30, 2019 — Today, the U.S. Department of Veterans Affairs (VA) and Microsoft Corp. announced a new collaboration to enhance opportunities for education, recreation and therapy for Veterans with mobility limitations by introducing the Xbox Adaptive Controller a video game controller designed for people with limited mobility in select VA rehabilitation centers around the country.

The partnership, which was formalized April 18, will provide controllers and services to Veterans as part of therapeutic and rehabilitative activities aimed at challenging muscle activation and hand-eye coordination, and greater participation in social and recreational activities.

“This partnership is another step toward achieving VA’s strategic goals of providing excellent customer experiences and business transformation,” said VA Secretary Robert Wilkie. “VA remains committed to offering solutions for Veterans’ daily life challenges.”

Together, VA and Microsoft identified an opportunity to introduce or reintroduce gaming to Veterans with spinal cord injuries, amputations, and neurological or other injuries at 22 VA medical centers across the United States. Microsoft is donating its Xbox Adaptive Controller, game consoles, games and other adaptive gaming equipment as part of the collaboration.

Designated VA staff will engage with Veterans using the equipment and share feedback with Microsoft on therapeutic utility and the Veteran experience.

“We owe so much to the service and sacrifice of our Veterans, and as a company, we are committed to supporting them,” said Satya Nadella, CEO of Microsoft. “Our Xbox Adaptive Controller was designed to make gaming more accessible to millions of people worldwide, and we’re partnering with the U.S. Department of Veterans Affairs to bring the device to Veterans with limited mobility, connecting them to the games they love and the people they want to play with.”

Microsoft and VA have a long-standing strategic partnership, working together for more than 20 years to provide the best possible care and service to Veterans. Gaming is a popular pastime of military personnel, and access to the Xbox Adaptive Controller in VA rehabilitation centers provides the opportunity for Veterans to experience gaming’s various benefits, including staying connected with friends and family across the world, building esprit de corps through competitive or cooperative gameplay, and providing stress relief.

Microsoft’s initial contributions will be allocated across 22 VA facilities. In addition, the controllers and other equipment will be available for Veterans to use at events hosted by VA’s Office of National Veterans Sports Programs and Special Events, such as the National Veterans Wheelchair Games.

The following 16 centers have confirmed participation to date, with at least six additional centers to come: Augusta VA Medical Center (VAMC), Central Alabama VA Health Care System (HCS), Central Texas Veterans HCS, Chillicothe VAMC, Dayton VAMC, Memphis VAMC, Minneapolis VA HCS, Richmond VAMC, VA St. Louis HCS, South Texas Veterans HCS (Audie L. Murphy VA Hospital), South Texas Veterans HCS (Kerrville Division), James A Haley Veterans Hospital – Tampa, VA Eastern Colorado HCS, VA New York Harbor HCS, VA Palo Alto HCS, and VA Puget Sound HCS.

More information on partnering with VA can be found at

Media assets can be found here.

About the U.S. Department of Veterans Affairs Veterans Health Administration

The Veterans Health Administration (VHA) is the largest integrated health care system in the United States, providing care at 1,250 healthcare facilities, including 172 VA Medical Centers and 1,069 outpatient sites of care of varying complexity (VHA outpatient clinics) to over 9 million Veterans enrolled in the VA health care program.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

For more information, press only:

Assembly for Xbox, (206) 223-1606, [email protected]

U.S. Department of Veterans Affairs, Office of Public Affairs Media Relations, (202) 461-7600, [email protected]

Note to editors: For more information, news and perspectives from Microsoft, please visit the Microsoft News Center at Web links, telephone numbers and titles were correct at time of publication, but may have changed. For additional assistance, journalists and analysts may contact Microsoft’s Rapid Response Team or other appropriate contacts listed at

Go to Original Article
Author: Microsoft News Center

Why should I use Exchange Server maintenance mode?

Many admins just patch and reboot servers without failing over the Exchange databases and putting them into maintenance mode. But skipping this practice can create unnecessary headaches.

What is maintenance mode? Essentially, it’s a script that drains the node from the cluster and suspends the server’s activities so the database availability group (DAG) does not fail over. In Exchange 2016, you have a new setting that moves the database back to its preferred node, and the activation preference — the default is one hour — is set after a period of time.

There are times it takes longer than one hour to patch Exchange Server. After applying the update, the server needs to be rebooted, which requires stopping the services, to finish the patching process. In my experience, it can take about an hour to shut down the cluster service on a DAG node.

If you don’t give the node enough time to complete its patching process, it can be disastrous. If a security update is underway but you didn’t turn on maintenance mode, the DAG failover can break and get stuck so the database is unable to function. If you have two Exchange Servers in a DAG, you can end up with users unable to connect to the messaging platform if both servers are down.

Maintenance mode adds a few more minutes to the update process because it needs to shut down and pause activities on the Exchange Server, but it is recommended even when doing normal maintenance, such as server restarts.

Be sure to take the server out of maintenance mode when it is back online so you can fail over the other node that needs patching. Wait for your DAG logs to replay and show that everything is healthy before moving onto the next server.

Go to Original Article

Docker on ARM pushes cloud app development to the edge

SAN FRANCISCO — Docker has inked a partnership with ARM to better enable developers to build applications for cloud, IoT and edge computing systems on the RISC architecture.

ARM’s dominance in edge computing, mobile and IoT make it an attractive collaborator for Docker, as the container company looks to expand its reach. Docker on ARM is particularly important as automated software updates on edge devices becomes a bigger trend, said James Governor, co-founder and analyst at RedMonk, a developer-focused analyst firm in Portland, Maine.

“Docker needs to be everywhere, and ARM keeps threatening to make a dent on the server market,” Governor said. This integration agreement means millions of ARM developers can now build Docker-based apps for their workloads.

Docker on ARM starts with desktops

The partnership kicks off with integration of ARM capabilities into Docker Desktop Community and Docker Desktop Enterprise AWS EC2 A1 instances, said David Messina, executive vice president of strategic alliances at Docker, ahead of DockerCon 2019 here this week. Docker Desktop, available for Windows and MacOS systems, enables users to build and test containerized applications with their chosen framework and development language.

The companies are making Docker-based tools available to ARM developers as an extension of the ARM Neoverse CPU, optimized for cloud-native server workloads.

Meanwhile, a potential Kubernetes element of the partnership would further enable ARM adoption in the cloud-native world by enabling cloud developers to save costs without sacrificing performance, said Matt Kimball, an analyst at Moor Insights & Strategy in Austin, Texas.

“This can’t be overstated; it gives developers a choice — a choice of architectures; a choice of vendors,” he said.

Moreover, it enables the proliferation of ARM across the device-to-data center continuum that spans from the sensor on a factory floor to the edge to the data center, he said.

Support for Docker on ARM is important for not only cloud-native companies that want to run workloads on the fastest and most efficient architecture; the same is true as you move toward edge devices and the end of the network.

You want to be able to run your workloads on the architecture that’s going to be a better fit.
Matt KimballAnalyst, Moor Insights & Strategy

“You want to be able to run your workloads on the architecture that’s going to be a better fit,” Kimball said. “Traditionally, in a lot of those apps, it’s been RISC architectures, whether MIPS, PowerPC or in this case, ARM.”

The thrust of this Docker-ARM partnership is good in that it indicates a shift toward more virtualization and more containers.

“Let’s face it, the x86 [architecture] dominates servers in terms of CPUs, but 100 times more ARM chips ship every year because they’re used throughout a bunch of other applications throughout the network, throughout edge devices,” said Jim McGregor, founder and analyst at Tirias Research in Mesa, Ariz.

The industry is undergoing a shift toward accelerated computing or heterogeneous support where applications are able to run on not just CPUs, but a GPU, neural processor or some type of other dedicated accelerator.

“Containers allow you to break up those applications and run either a part of the app or the entire app on the resource that’s most effective,” McGregor said.

Docker and ARM will work together to provide management of the application lifecycle from development to secure device management, unified development environments for heterogeneous computing, and ways to scale cloud workloads and consolidate edge workloads, the companies said.

Go to Original Article

For Sale – Mini Water Cooled i7 4770K 256SSD GTX970

Coolermaster Case I thinks it’s the Elite 110 so 210mm x 260 x 280 H x W x D

Water Cooled I7 4770K

Asus Z971 Plus MB WiFi

Coolermaster 800W Silent Pro Gold

Zotac GTX 970 GPU

Team Group Xtreem DDR3 1333 8GB

Samsung 256GB M2
WD Black 500GB Sata

W10 Pro

PC is pretty quiet unless gaming – never had a problem with it. Plays games at 1080p on high settings. Will throw in a Dell S2309WB 1080p monitor and KB/Mouse with all cables.

Price and currency: £350
Delivery: Delivery cost is not included
Payment method: BT cash on collection
Location: Leicester LE7
Advertised elsewhere?: Not advertised elsewhere
Prefer goods collected?: I prefer the goods to be collected

This message is automatically inserted in all classifieds forum threads.
By replying to this thread you agree to abide by the trading rules detailed here.
Please be advised, all buyers and sellers should satisfy themselves that the other party is genuine by providing the following via private conversation to each other after negotiations are complete and prior to dispatching goods and making payment:

  • Landline telephone number. Make a call to check out the area code and number are correct, too
  • Name and address including postcode
  • Valid e-mail address

DO NOT proceed with a deal until you are completely satisfied with all details being correct. It’s in your best interest to check out these details yourself.

Go to Original Article

Enhancing Non-packaged Desktop Apps using Windows Runtime Components – Windows Developer Blog

Windows 10 Version 1903, May 2019 Update adds support for non-packaged desktop apps to make use of user-defined (3rd party) Windows Runtime (WinRT) Components. Previously, Windows only supported using 3rd party Windows Runtime components in a packaged app (UWP or Desktop Bridge). Trying to call a user-defined Windows Runtime Component in a non-packaged app would fail because of the absence of package identity in the app, no way to register the component with the System and in turn no way for the OS to find the component at runtime.
The restrictions blocking this application scenario have now been lifted with the introduction of Registration-free WinRT (Reg-free WinRT). Similar to the classic Registration-free COM feature, Reg-Free WinRT activates a component without using a registry mechanism to store and retrieve information about the component. Instead of registering the component during deployment which is the case in packaged apps, you can now declare information about your component’s assemblies and classes in the classic Win32-style application.manifest. At runtime, the information stored in the manifest will direct the activation of the component.

Using Windows Runtime components in your Win32 application gives you access to more of the modern Windows 10 features available through Windows Runtime APIs. This way you can integrate modern experiences in your app that light up for Windows 10 users. A great example is the ability to host UWP controls in your current WPF, Windows Forms and native Win32 desktop applications through UWP XAML Islands.

The keys to enabling this functionality in non-packaged apps are a newly introduced Windows Runtime activation mechanism and the new ”activatableClass” element in the application manifest. It is a child element of the existing manifest “file” element, and it enables the developer to specify activatable Windows Runtime classes in a dll the application will be making use of. At runtime this directs activation of the component’s classes. Without this information non-packaged apps would have no way to find the component. Below is an example declaration of a dll (WinRTComponent.dll) and the activatable classes (WinRTComponent.Class*) our application is making use of. The “threadingModel” and namespace (“xmlns”) must be specified as shown:

For our examples we’ll be using a simple C++ Windows Runtime component with a single class (WinRTComponent.Class) that has a string property. In practice you can make use of more sophisticated components containing UWP controls. Some good examples are this UWP XAML Islands sample and these Win2D samples.

Figure 1: C++ Windows Runtime Component

GitHub Sample:
In our first example we’ll look at a non-packaged Windows Forms app (WinFormsApp) which is referencing our C++ Windows Runtime Component (WinRTComponent). Below is an implementation of a button in the app calling the component class and displaying its string in a textbox and popup:

Figure 2: WinForms App Consuming component
All we need to get the code to compile is to add a reference to the WinRTComponent project from our WinForms app – right click the project node | Add | Reference | Projects | WinRTComponent. Adding the reference also ensures every time we build our app, the component is also built to keep track of any new changes in the component.
Although the code compiles, if we try to run the solution, the app will fail. This is because the system has no way of knowing which DLL contains WinRTComponent.Class and where to find the DLL. This is where the application manifest and Registration-free WinRT come in. On the application node right click | Add | New Item | Visual C# | Application Manifest File. The manifest file naming convention is that it must have the same name as our application’s .exe and have the .manifest extension, in this case I named it “WinFormsApp.exe.manifest”. We don’t need most of the text in the template manifest so we can replace it with the DLL and class declarations as shown below:

Figure 3: Application Manifest in WinForms App
Now that we’ve given the system a way of knowing where to find WinRTComponent.Class, we need to make sure the component DLL and all its dependencies are in the same directory as our app’s .exe. To get the component DLL in the correct directory we will use a Post Build Event – right click app project | Properties | Build Events | Post Build Event, and specify a command to copy the component dll from its output directory to the same output directory as the .exe:
copy /Y “$(SolutionDir)WinRTComponentbin$(Platform)$(Configuration)WinRTComponent.dll”  “$(SolutionDir)$(MSBuildProjectName)$(OutDir)WinRTComponent.dll”

Because our component is built in visual C++, it has a runtime dependency on the C++ Runtime. Windows Runtime components were originally created to only work in packaged applications distributed through the Microsoft Store, as a result, they have a dependency on the ‘Store version’ of the C++ Runtime DLLs, aka the VCLibs framework package. Unfortunately, redistributing the VCLibs framework package outside the Microsoft Store is currently not supported. As a result, we’ve had to come up with an alternate solution to satisfy the framework package dependency in non-packaged applications. We created app-local forwarding DLLs in the ‘form’ of the Store framework package DLLs that forward their function calls to the standard VC++ Runtime Libraries, aka the VCRedist. You can download the forwarding DLLs as the NuGet package Microsoft.VCRTForwarders.140 to resolve the Store framework package dependency.
The combination of the app-Local forwarding DLLs obtained via the NuGet package and the VCRedist allows your non-Store deployed Windows Runtime component to work as if it was deployed through the Store. Since native C++ applications already have a dependency on the VCRedist, the Microsoft.VCRTForwarders.140 NuGet package is a new dependency. For managed applications the NuGet package and the VCRedist are both new dependencies.
The Microsoft.VCRTForwarders.140 NuGet package can be found here: VCRedist can be found here:
After adding the Microsoft.VCRTForwarders.140 NuGet package in our app everything should be set, and running our application displays text from our Windows Runtime component:

Figure 4: Running WinForms App

GitHub Sample:
To successfully reference a C++ Windows Runtime component from a C++ app, you need to use C++/WinRT to generate projection header files of your component. You can then include these header files in your app code to call your component. You can find out more about the C++/WinRT authoring experience here. Making use of a C++ Windows Runtime component in a non-packaged C++ app is very similar to the process we outlined above when using a C# app. However, the main differences are:

Visual Studio doesn’t allow you to reference the C++ Windows Runtime component from a non-packaged C++ host app.
You need C++/WinRT generated projection headers of the component in your app code.

Visual Studio doesn’t allow you to reference the Windows Runtime component from a non-packaged C++ app due to the different platforms the projects target. A nifty solution around this is to reference the Component’s WinMD using a property sheet. We need this reference so that C++/WinRT can generate projection header files of the component which we can use in our app code. So the first thing we’ll do to our C++ app is add a property sheet – right-click the project node| Add | New Item | Visual C++ | Property Sheets | Property Sheet (.props)

Edit the resulting property sheet file (sample property sheet is shown below)
Select View | Other Windows | Property Manager
Right-click the project node
Select Add Existing Property Sheet
Select the newly created property sheet file

Figure 5: Property Sheet in C++ Host App
This property sheet is doing two things: adding a reference to the component WinMD and copying the component dll to the output directory with our app’s .exe. The copying step is so that we don’t have to create a post build event as we did in the C# app (the component dll needs to be in the same directory as the app’s .exe). If you prefer using the post build event instead, you can skip the copy action specified in the property sheet.
The next step would be to make sure your app has the C++/WinRT NuGet package installed. We need this for the component projection headers. Because Visual Studio doesn’t allow us to directly add a reference to the component, we need to manually build the component whenever we update it, so that we are referencing the latest component bits in our app. When we’ve made sure the component bits are up to date, we can go ahead and then build our app. The C++/WinRT NuGet package will generate a projection header file of the component based on the WinMD reference we added in the app property sheet. If you want to see the header file click on the “All Files” icon in Visual Studio Solution Explorer | Generated Files | winrt | :

Figure 6: C++/WinRT Generated Projections
By including the generated component projection header file (WinRTComponent.h) in our app code we can reference our component code:

Figure 7: C++ App referencing code in WinRTComponent
We then add an application manifest to our app and specify the component DLL and component classes we’re making use of:

Figure 8: Win32 Application Manifest in C++ App
And this is what we get when we build and run the app:

Figure 9: Running C++ Host App

Registration-free WinRT enables you to access more features in the UWP ecosystem by allowing you to use Windows Runtime Components without the requirement to package your application. This makes it easier for you to keep your existing Win32 code investments and enhance your applications by additively taking advantage of modern Windows 10 features. This means you can now take advantage of offerings such as UWP XAML Islands from your non-packaged desktop app. For a detailed look at using UWP XAML Islands in your non-packaged desktop app have a look at these samples: UWP XAML Islands and Win2D. Making use of C++ Windows Runtime components in non-packaged apps comes with the challenge of handling dependencies. While the solutions currently available are not ideal, we aim to make the process easier and more streamlined based on your feedback.
Updated April 30, 2019 12:01 pm