I have a ClickOnce application sitting on my company's file server, including the setup.exe and the .application manifest. Due to network settings, users that wish to install my application must copy the setup.exe to their local machine. Unfortunately, the installation fails if it can't find the manifest. We can get around this by copying the manifest to the local machine alongside the setup.exe. The manifest has the "deployment location" set as the file server, so the copied local manifest is never used; it's only purpose is to placate the installer.
Is there a way to tell the installer to look for the application manifest at the specific file server location, and not look for it in the same folder as the setup.exe?
Related
My application that has 'Accord.Video.FFMPEG.dll' and supporting DLL's works properly in the development environment. When I publish and try to Click Once install I receive the following message:
Could not load file or assembly 'Accord.Video.FFMPEG.dll' or one of its dependencies. The specified module could not be found.
File name: 'Accord.Video.FFMPEG.dll'
As suggested in other posts, I copied the following DLL's into my Resources folder in my Visual Studio Project and specified to 'always copy to installation folder'. I see them in the Install Folder inside the folder C:\JPGManagerPublish\Application f
Files\JPGManager_3_0_0_179\Resources
avcodec-57.dll
avdevice-57.dll
avfilter-6.dll
avformat-6.dll
avformat-57.dll
avutil-55.dll
postproc-54.dll
swresample-2.dll
swscale-4.dll
These show up in the application install folder as
avcodec.57.dll.deploy, etc.
I install the application with Setup and I when I execute the function that utilizes Accord.Video.FFMPEG.dll I get the error message :
'Accord.Video.FFMPEG.dll' or one of its dependencies. The specified module could not be found.
File name: 'Accord.Video.FFMPEG.dll'
You can try to solve it with the following steps:
Use the latest package currently available in NuGet.
Make sure your application is running in 64-bit mode (check Environment.Is64BitProcess and Environment.Is64BitOperatingSystem), if so, download and install Accord.Video.FFMPEG.x64 from NuGet only (do not install Accord.Video. FFMPEG).
If you still face the problem, please check the value of Directory.GetCurrentDirectory() and make sure the dll of FFmpeg is contained in this folder.
Try adjusting your PATH variable to include the directory where these .dlls are located (usually in the Bin folder).
string oldPath = Environment.GetEnvironmentVariable("Path");
Environment.SetEnvironmentVariable("Path", pathToFFmpegDlls + ";" + oldPath);
I have a ClickOnce application that I would like to deploy to a SharePoint location. I have included the path to the SharePoint location on my local machine as the Publishing Folder Location ("C:\Users%username%..."). However, I am unclear as to Installation Folder URL that I can use for this deployment? Is this the web URL for the same folder on the online version of SharePoint (\xxxxxx.sharepoint.com...)?
This is the complete process for publishing to a shared folder.
Publish using ClickOnce and deploy using SharePoint.
Add a Document Library.
Create a new folder.
Select (Actions > Open with Explorer).
Copy the URL into the following folders:
Publishing Folder Location - \website.com\sites\name\folder
Installation Folder URL - website.com/sites/name/folder/
Click Prerequisities and untick "Create setup program in install prerequisite components"
Select (Build > Publish)
This should create a file at the top level (extension .vsto)
and a subfolder called "Application Files"
I have a requirement to publish a .net desktop application to an on-prem machine which I have now installed VSTS agent on successfully registered. The VSTS release can see the machine OK and it works until downloading the artifact.
I have below settings for Copy files in the Release Definition:-
the settings for Publish Artifact task is :-
I want to copy the build output to a local folder on the designated machine. When release process starts, the artifact is copied to the local machine under vsts work folder OK, however, when the Copy Files process start, it fails with error can't find the folder.
while this folder is available there on C: drive.
Any help is much appreciated.
thanks
Publish Artifacts is the wrong task to use for this. That's intended to be used in your build process.
Just use Copy Files.
Using ClickOnce, is it possible to include a file (resource, dll, image, whatever) to be copied to a different location and NOT the app folder?
What I am trying to achieve exactly is to install Microsoft.Web.Publishing.Tasks.dll + Microsoft.Web.XmlTransform.dll and their .targets to C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web so those msbuild tasks can be used on workstations that do not have Visual Studio installed.
It was so easy using a Setup Project before VS 2013!!
I repeat: I do NOT want those files to be installed in the app folder (so please don't tell me to set the option Copy to Output = Always" on project files).
Thanks.
No. You can't do it with ClickOnce.
Either deploy the files and write code to copy files when your app starts. Or use some other deployment option, like msi.
My application consist of an executable project and a dll library. My executable project has added the reference to the library project.
The library project contains some "content" files like .ini .bmp. The problem is that these files are not copied to the device when I deploy the executable project. Only dll file is copied. The curious thing is that all files are copied to the \ExecutableProject\bin\Debug directory on the desktop machine.
To workaround this I've set the deployment path of dll project the same as executable project and I'm deploying them both, but this solution doesn't seem to be nice.
I'm using VS2008 and my device works on Windows CE.
There are a few things to check.
Double check that the "Build Action" is set to "Content"
Make sure that the "Copy to Output folder" is set to "Copy Always" or "Copy If Newer"
Make sure that the deployment folder for the library project is what you expect (Properties->Devices->Output File Folder)
Make sure that the library project is set to the same target device as the executable
Make sure the library project is set to deploy for your configuration (Build->Configuration Manager)
Remember that if the content files are in a subfolder in the project, they will end up in a subfolder on the device