I have a project that uses CEFSharp and I am using a windows deployment project to create a setup. When I compile the program, during the build process, it copies the .pak files and creates the "locales" folder in the debug/release folder as found here.
https://github.com/cefsharp/CefSharp/wiki/Getting-Started
I can add the .pak files as dependencies, but is there a way to create the "locales" folder and copy the appropriate files there?
Related
I have a project that I wish to publish. currently, I hardcode some reference files (.json,txt, and .ico) to be used in my project, which reside in a folder on my desktop for testing purposes. now that I feel I'm close to a version 1.0 release I want to migrate my resources to a applications folder upon install. basically want to create these files when the app is installed.
2 big questions I have is how to reference to the application folder that doesn't exist yet, and how do I publish the setup project.
I have the setup project installed for VS2019, and followed a quick and brief blog on how to use it. but I haven't found out how to publish that setup project. I can publish my project with my actual code in it, but I cannot publish the setup project.
below is a screenshot of the setup project. and i will add screenshot of my settings for the reference file.
Add the files into subfolder of your project and in the options part in Visual studio set that files will be copied to "debug"/"release" folder.
You will have an output folder with all what you needs and can be shippable.
When deploying a ClickOnce from the VS a folder is created under bin/$(configuration) and the name of this folder is app.publish.
Inside that now, there is an other folder called 'Application Files' and inside that there are all the version folders with the required dlls and exe for the application.
The question is: Where does the ClickOnce gets the files to add them to the version folder? And most important when this process is made?
Thanks,
GM
UPDATE #1
The issue though is that i am obfuscating some of my dlls but the published files are not the correct ones. The dll i obfuscate is obfuscated in Release folder but not in the published folder.
The obfuscation is made in .csproj with postbuild commands.
First, you can read the official documentation.
When you create the list, the file will be copied.
DOCS
How ClickOnce deployment works
The core ClickOnce deployment architecture is based on two XML manifest files: an application manifest and a deployment manifest. The files are used to describe where the ClickOnce applications are installed , how they are updated, and when they are updated.
Deploy ClickOnce applications
After it is created, the deployment manifest is copied to the deployment location. This can be a Web server, network file share, or media such as a CD. The application manifest and all the application files are also copied to a deployment location that is specified in the deployment manifest. This can be the same as the deployment location, or it can be a different location. When using the Publish Wizard in Visual Studio, the copy operations are performed automatically.
Are there plug-ins or reference files in your assembly, you should add them in the [application file], as shown below:
In the above interface, change the required file release status to "include".
In the above interface, copy the required files to the output directory and change it to "Always copy", so that you can ensure that your DLL or some reference files can be released with your program.
What's the correct procedure for deploying WinForms / WPF Applications which use SharpDX.Direct3D11.Effects v3 NuGet package?
They seem to depend on two unmanaged DLLs:
sharpdx_direct3d11_effects_x64.dll
sharpdx_direct3d11_effects_x86.dll
Should these be copied to the output directory? As a post build step or otherwise?
After we publish the WPF/WinForms applications from Visual Studio, it will generate an Application Files folder which contains .dll.deploy files.
I installed the SharpDX.Direct3D11.Effects package in my WPF application. And after I publish this application, I found the sharpdx_direct3d11_effects_x64.dll and sharpdx_direct3d11_effects_x86.dll will generate sharpdx_direct3d11_effects_x64.dll.deploy and sharpdx_direct3d11_effects_x86.dll.deploy files in Application Files folder. We need not to copy to them to output directory.
If the depend on DLLs are not include in your Application Files folder, please configure them through Project Properties -> Publish tab -> Application Files to set the Publish Status for these Dlls as Include.
I have a click once deployment project that has been working fine for a long time now. I added some new dll's to a project that is referenced by it. The dll's can't be referenced in references, so I added them as files to the project.
Build Action is Content, copy to output directory is copy always.
when I build the application, the dll's appear in the bin\debug directory. The program uses them just fine too on my computer. When I deploy the application, the dll's don't make it to the other computer.
Under Publish in application properties I went to application files. the dll's I need are not listed there to be included in the deployment.
I would love some help, I feel like I'm missing something really simple.
I have a feeling if I put the dll's in the main project, it would work. I don't really want to do this, I would like to keep them all located in the project they are actually used in.
When I deploy the application, the dll's don't make it to the other computer.
...
Under Publish in application properties I went to application files. the dll's I need are not listed there to be included in the deployment.
You need to set them to download with the application. Click the DLL in the project properties, then press F4. Set the Build Action to Content, and the Copy to Output Directory to something like 'Copy if newer'
For information - it is likely if you download the DLLs for referencing by a built exe (for example) you may need to configure a manifest file for the executable as well to get it to pick up the DLLS correctly
I have an XNA 3.1 program and would like to create an installer that includes all the content files. I know I can create a ClickOnce installer but it does not package everything up in one file. Is there a way on build of the deployment project that I can look at the project folder and dynamically add the files and directories to the MSI? On the PreBuildEvent There is already an xcopy of the files I want from the game project folder to the deployment folder. What I want is a way to add those into the deployment project. Custom actions don't seem to fit since they are for install time, not build time. Should I give up and go the Wix route?
I did find this project on github. https://github.com/dump247/VDProjectXml It looks like a good start. I'll look into this and Wix.