VS2017 fails to create appxupload-package of headless IoT app for store publishing - visual-studio

I want to publish a headless UWP application for Windows 10 IoT Core devices to the app store, but fail to build the neccessary appxupload-package.
The app itself is a simple background task that reacts to the push of a button and communicates with a web service using SignlR. The project template can be found here: Windows IoT Core Project Templates for VS 2017
There is a guide for publishing UWP apps to the store, including special instructions for headless apps: Installing and Servicing apps on Windows 10 IoT Core
I follow this instructions step by step but still Visual Studio 2017 fails to build the appxupload-package (error message: "ilc.exe exited with code 1004"). If I try to build the solution I get following error: "Applications with custom entry point executables are not supported".
I did not do any other relevant modifications to the Manifest beside those mentioned in the instructions.
Also, without this modifications to the Manifest, Visual Studio 2017 succeeds creating the appxupload-package - but I can't use that one since it won't be accepted by the store because of it's headless nature.
I really have no clue about how to make this work and hope somebody can help me with this problem here! I didn't find any other information about this problem anywhere else.

I managed to create the appxupload-package. Turns out the guide to publish headless apps to the appstore has some issues.
The guide is written using markdown and some of the information contained simply gets cut off when rendered for viewing purpose.
Since the guide is available via github repository you can use the raw version for full information: Installing and servicing applications
UPDATE
The guide has been updated and issues have been solved - Installing and Servicing applications

Related

How to Deploy a Windows Service using Visual Studio 2017 Community

Working with VS2017 Community I have written a service that works on my local machine. I followed the instruction here:
https://learn.microsoft.com/en-us/dotnet/framework/windows-services/walkthrough-creating-a-windows-service-application-in-the-component-designer
and installed it successfully using Installutil.exe (as per instructions in above link). All good.
I now want to deploy that across six servers in our organisation. In Microsoft's documentation about installing services (https://learn.microsoft.com/en-us/dotnet/framework/windows-services/how-to-install-and-uninstall-services) it says:
If you’re a developer who wants to release a Windows Service that users can install and uninstall you should use InstallShield
and links to a page that applies to VS2012 (can't post any more links as my reputation<10)
I have downloaded and installed the "Microsoft Visual Studio 2017 Installer Projects" package, which allows me to create a Setup Project. When I run it, it installs the project output correctly (i.e. copies the exe & dll files to the correct folder in Program Files) but does not create the service.
There's a detailed post about deploying services on this site (question 9021075) but when I follow those instructions I get a 1001 error on Install.
All the documentation I can find refers to earlier versions of VS or the previous Installer package, so I'm not even certain if I can do it with the software I am using.
So, with VS2017 Community using Microsoft Visual Studio 2017 Installer Projects, how to I create a stand-alone Installer to deploy a service that works correctly when installed locally using InstallUtil?
Or can I use InstallUtil on the target machines? I think I'd need to install Visual Studio on them for that, which I'd prefer not to. Is there a quicker way?
I only have 6 servers to install this on, so even some manual work-around might do.
Thank you for the responses. I now have a solution. I found InstallUtil on the Target Server (in my case it was in C:\Windows\Microsoft.NET\Framework64\v4.0.30319 but search will find it). I copied and added that to my project as content so when I now deploy it, I have InstallUtil in the same folder as my EXE.
To install, I run CMD as admin, cd to project folder and issue command:
installutil.exe myService.exe
This is a one-off task. Once the service is working, to update it I just need to stop it, upload the new myService.exe (& any DLLs) to overwrite the old ones and restart it again.
Further information about settings you're using for the serviceProcessInstaller1 and serviceInstaller1 files will be needed to debug this issue, as the 1001 error raised by the installer is a generic error.
An alternative way of doing this is to use Topshelf, which is a framework for hosting services written using the .NET framework. It simplifies the creation of services, allowing developers to create a simple console application that can be installed as a service using Topshelf. The reason for this is simple: It is far easier to debug a console application than a service. And once the application is tested and ready for production, Topshelf makes it easy to install the application as a service.
Alternatively, you could use InstallUtil.exe. It is part of the .NET Framework, so no need to install Visual Studio.

Develop an Azure Service Fabric Application with Visual Studio 2017 for Mac

my team is creating an Azure Service Fabric application using ASP.NET/Dotnet Core. Whenever I try to import the project into my Visual Studio 2017 for Mac I get the error
Error while trying to load the project '.../Project.sfproj: Unknown solution item type'
The solution contains several projects, some with a csproj (which I can open just fine), and some with a sfproj, that cause the problems. I can't even browse them in VS2017:
I can run msbuild from the shell (get some Compiler errors, but that's fine), but cannot manage to load the project into my IDE. I guess I'm missing the Service Fabric SDK, but that is not available for mac afaik. I managed to pull some jars from the vagrant image, as described here but that doesn't help me in a ASP.NET/Dotnet Core application.
Unfortunately, this feature is currently not available. If anyone wants it, vote for it on the visual studio user voice page.

Cannot load shared 'project' in Windows Universal app after upgrading to Azure SDK 2.6

I've just installed the April 2015 release of the Azure SDK. It is version 2.6 and previously I was on 2.5. Now one of my projects will not load. It is the shared project in a Windows Universal application.
When I right-click the project and choose 'reload' I get the pop-up error
The method or operation is not implemented
The output window gives more detail:
Things.Shared.shproj : error : The composition produced a single
composition error. The root cause is provided below. Review the
CompositionException.Errors property for more detailed information.
1) No exports were found that match the constraint:
ContractName Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
RequiredTypeIdentity Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService
Resulting in: Cannot set import
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")'
on part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.ProjectReferencesService
(ContractName="Microsoft.VisualStudio.ProjectSystem.References.IBuildDependencyProjectReferencesService")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
Resulting in: Cannot get export
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")'
from part
'Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService'.
Element:
Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService.WireUp
(ContractName="Microsoft.VisualStudio.ProjectSystem.ConfiguredProject.AutoLoad")
--> Microsoft.VisualStudio.Azure.Deployment.ProjectReferenceMaintenanceService
The other parts to the Windows Universal app (the Windows 8.1 project and the Windows Phone 8.1 project) have two Azure NuGet packages installed: Windows Azure Mobile Services 1.3.2 and Windows Azure Storage 4.3.0. (N.B. Those two projects load without issue.)
This is not a show stopper for me since uninstalling the Azure SDK 2.6 removes the load failure. To uninstall I go via the Control Panel to 'uninstall or change a program' and then uninstall Microsoft Azure Tools for Microsoft Visual Studio 2013 - v2.6
I would like to know how to fix this without uninstalling the Azure SDK 4.6.
Over on the Azure Mobile Services forum Chuck Weininger has posted the following answer:
The [fixed] build of Azure SDK 2.6 is now available, but it may not have
propagated to all download servers yet.
You can run the Web Platform Installer and if you don’t have the new
build installed, it should allow you to install 2.6 again. But it
might not if you are accessing a download server that doesn’t have the
new bits yet. If WebPI doesn't allow you to install 2.6 again, then
wait a few hours and try again.
The build number for the version with the fixes is build
2.6.30508.1601. You can identify the build of the SDK from Control Panel -> Programs and Features -> Microsoft Azure Tools for Microsoft
Visual Studio 2013 – v 2.6. The Version column will display the build
number
I have followed Chuck's instructions and have the new build and the shared project now loads without issue.
We have been able to reproduce the issue, but don't have a workaround at this time. If you want to use the Universal App projects with VS 2013, you will have to uninstall Azure SDK for VS 2.6. The issue does not happen on VS 2015 RC if you would like to give that a try. We hope to have news soon about how we can get a fix for this issue on VS 2013.
Chuck Weininger, Dev Lead, Microsoft
https://social.msdn.microsoft.com/Forums/en-US/e8123821-dcb1-477f-a746-f6f016a724ea/cannot-load-shared-project-in-windows-universal-app-after-upgrading-to-azure-sdk-26?forum=azuremobile&prof=required#de621720-3afc-458c-ba85-f691be9e74c1

Error debugging worker role in Azure

All the sudden started getting the following error while trying to debug a worker role:
"Windows Azure Tools for Microsoft Visual Studio
There was an error attaching the debugger to the role instance 'deployment16(360)blah blah' with Process Id: '8780'. Unable to attach. The Microsoft Visual Studio Remote Debugging Monitor has been closed on the remote machine."
Restarting Visual Studio and the machine do not help.
As you start getting this problem all of sudden in your development machine something must have changed and it is mostly due to some of the OS auto-update and/or some application update you installed in your machine. There could be any random reason for this problem however if I would have hit the exact same problem here is what I would do to troubleshoot such issue:
To start, first thing is to just check it is not an application specific problem by creating a base app from web/worker template and see if that exhibit the problem.
If you have installed new release Windows Azure SDK 1.7 check with both SDK 1.6 and 1.7 to verify if both exhibit the problem.
Check if your could debug IIS based application as well outside Compute Emulator. This will isolate if the problem is specific to Windows Azure development Fabric or bind to your IIS itself.
If this is IIS specific issue, Check IIS configuration for all enabled functionalities, try resetting Application Pool configuration, running "ASPnet_regiis -i" etc to fix the issue.
If it is Windows Azure Computer Emulator specific, I know sometime OS updates may make application unstable so in that case, I will re-install .net 4.0 and VS2010 SP1 again respectively. (This does help so many time) then re-install Azure SDK 1.7 completely.
Such random problem mostly occur due to some change in your machine configuration, so restoring the VS2010 and the re-installing all other application does help to solve problems.
If you have an exception in the role's OnStart() or in Application_Start() that the debugger doesn't pick up, you may also receive this message. Application_Start() errors are especially pernicious because the debugger doesn't attach to the web process until after this method returns.
If you are wedded to cloud specific classes such as RoleEnvironment and cannot make the web role a startup project, you can use Ctrl-F5 to run the cloud project without debugging. With some luck you'll get a yellow screen of death to show you the true error.
Avkash covers the points.
I had the same issue recently. I set my web project as start-up rather than Azure and I discovered that that web project didn't actually run. Turned out somehow when of my projects was compiling for X64. I changed that and it worked.

Remote debugging fails in VS 2010

I have a project that is working fine on my system. I can debug the project without problems. My development system is Win 7 (x64). When I deploy and/or publish this project to my test environment (Windows Server 2003 (x32)), I can no longer debug it. I keep getting an error that states "The following module was built either with optimizations enabled or without debug information." It is referring to one of the DLLs in my project that is from another project in the solution.
This application was originally created in VS 2005. I upgraded it to VS 2010 with no problems. I also felt that the original project needed to be re-factored, so I pulled all of the business and data layer logic and put it into a separate class library project within the solution. The web project also needed to be split up because the same code was running on two different server with different pages on both. However, there was shared presentation logic between the two web projects, so I created another class library project that was specifically for the presentation layer. After all of that, I now have 4 projects (2 class library projects and 2 web projects).
All of the web pages are working correctly, but it appears that I am having some issues with a web service (classic web service, not WCF) in one of the web projects. I am getting erroneous results and I am trying to step through it to find the problem. Please help! I have a pending deadline on this project.
You're building on a 64-bit system and deploying on a 32-bit system. This may be your problem.
Also, the account used while setting up remote debugger needs to have admin or power user privileges.
Third, can you debug any other assembly remotely? Try building a dummy console app and see if you can debug it remotely.
Also, once you attach a debugger, you can go to Debug > Windows > Modules > select your module and try to load the symbols manually. This may give you additional info as to why its not getting loaded.
Sounds like your pretty experienced with remote debugging but I posted three short blogs on my experiences last year that may help you. I was building on a 64 bit Win7 system and deploying to s 32 bit XP. First I had to upgrade my OS from Win 7 Home Ultimate to Pro. Secondly one of posts talks about the problems I had remote debugging the DEBUG build! I had to use a Release build and set some flags (detailed pic and info in the blog entry).
Remote Debugging a Release Build
General Remote Debugging advice (and screencast) from VS2008
Choosing the Right Version of Win 7 for remote debugging.
Have you tried this?
Go to Project -> Properties -> Build tab
Now make sure "Optimize Code" is unchecked.
Now go to Advanced in the same tab -> In the Debug Info drop down menu check full.

Resources