VSTO solution using ClickOnce via IIS 6 fails to download manifest - visual-studio

I have an Office solution for Word 2007 that I publish using ClickOnce. When I publish it to a local directory, I can install the .vsto file and everything works. When I publish it to our web server, though, I cannot install it. The error I get is:
Downloading file:///C:/DOCUME~1/Dave/LOCALS~1/Temp/Application Files/MyApp_1_0_0_0/MyApp.dll.manifest did not succeed.
I have been Googling for most of the day, and have already tried the following:
Added the correct MIME types to IIS 6 config (as described here and here on MSDN).
Created a test certificate, imported it into my trusted root authorities, and signed the app with it.
Published the solution to a network share and tried installing from there. It worked fine.
Tried accessing the MyApp.dll.manifest file directly from the web URL. The browser is able to find the file just fine.
What am I missing? Thanks.

Make sure that Windows Installer 3.1 is installed on the end-users PC. If it's not, you may want to add it as a prerequisite to your application.
Also, you may want to check and see if the application is installed from the Windows Add/Remove Programs screen. If it is in the list, you may need to uninstall the application, first. I know, you're probably thinking 'But the application hasn't been installed yet.'
Quite a few application that are published via ClickOnce. ClickOnce works great most of the time, but every now and then I see users who run into hiccups similar to yours when they try to initially install the application. The best solution is to usually uninstall all prerequisites, reboot, manually re-install the prerequisites (not from the ClickOnce setup.exe file) and then launch the application.
Some of those steps may not be necessary but it tends to fix the problem nearly every single time.

Related

Visual Studio unable to download installation files

I simply wish to install Visual Studio 2017 to compile a project.
Trying to install via the installer obtained from Microsoft fails after being unable to obtain the .opc file from aka.ms (found that after checking logs in %Temp%)
Moved to a full install version with all files and .opc file present. Installer still attempts to download from the web. Fails saying it is unable to download.
Tried running installed with --layout pointing toward the location of the offline files, same error.
Installed certificates from the certificates folder both in Personal and Trusted Root stores, no difference.
Tried starting CNG Key Isolation service, fails with error 1053
Microsoft support transferred me three times before saying the problem is on their end, so how, if one were to have no internet connection and evidently has all files required for install available, install this, if the installer stubbornly attempts to download from the web?
Is there a KB I am missing or some procedure I have to follow with the full installers?
In my case it is the network firewall blocking the downloading because the downloading involve not only main Microsoft visual studio site which is allowed in our network but also some url like https://aka.ms which is blocked by our firewall.the error is listed in c:\users\myusername\appdata\local\temp\dd_bootstrapper_xxx.log
It appears from what you have submitted you are attempting to download a offline copy of Visual Studio. It also appears that you are attempting to run the file originally downloaded to create the bootstrapper for the installation.
You want to instead launch the setup executable which is actually in the layout folder.
Hope this helps. ^^
Appears the cause for this was the service disclosure debug, disabling the debug, binding all services back into the svchost and after rebooting the service is working again. I have been able to install VS now.

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.

Visual Studio 2013 Outlook plugin, installing on a restricted citrix enviroment

I have been struggling to figure this out.
We have made a Outlook Add-In in Visual Studio 2013.
I can install this using the .vsto that they provide without a problem on a windows machine.
Now I try the same thing, placing the .vsto on the citrix server, installing this works fine, although it does a call to the internet which isn't allowed, so I had to work around that (anybody know why it calls to the internet? and what?).
Than I got it installed at the server, go to the thin clients, its right there, the only thing I have to do is activate it.
The second I activate it, it runs an executable, which obviously is not allowed, and I cannot activate it on the client.
You need to create an MSI installer for the add-in. See Deploying an Office Solution by Using Windows Installer for more information.

Microsoft's application installer launches my ClickOnce application

This is the weirdest thing I've ever seen. I wrote this application, which is deployed through ClickOnce. After installing my application, I tried to install this other tool, and instead of installing anything, my application launched. Then I uninstalled my application, cleared ClickOnce's cache by running rundll32 dfshim CleanOnlineAppCache in CMD, and tried to install Microsoft's tool again, and my application's ClickOnce installer showed up.
Any idea what in the world could cause this?
Looks like you are using the same GUID for the installer what microsoft used for their tool. Please generate another GUID for your app and try again.
Also try your installer from a different PC or Virtual Machine. It could be your computer's issue as well.
My first thought is that they use the same GUID. Can you regenerate any keys of your application and try again?
Really strange.

Compile a Visual Studio program to run without installation

I'm writing a C# program in VS 2012 and am trying to figure out how to get it to run with having the user install it. What I'm looking to do is toss this small program out on the network and just have the users run it or put it on a USB drive and give it to them that way. How can I go about doing this?
Ask yourself this, why do installers exist? They exist to ensure that the client machine has all of the pre-requisites installed prior to running the application. Copying the bin directory will work, provided the machine has all of those pre-requisites, and if you can guarantee that (like in some corporate environments), then you are good to go.
If you are developing in VS 2012, then you may be targeting .net 4.5, which many people may not have installed on their machines. If you use any third party COM components then you will require steps to register those before you start your application.
If your application requires admin rights and the user doesn't run it as admin, it could fail unexpectedly, if you don't have an installer set it up properly.
There are a lot of scenarios that are helped by installers. If you have a very simple application, then all should be OK by copying the bin folder, but make sure you understand the scenarios where it will not work, so you know how to support it.

Resources