If I wanted to just xcopy my WPF app, what are the minimum necessary files from the Release folder to copy?
In my Release folder, I have various dlls that my project references, a vshost.exe, a vshost.exe.manifest, .pdb files, etc. Is it necessary to copy all of those files to each machine I want to install my app to?
For an xcopy deployment, I take the...
executable
any dll's in the folder
the app.config, if there is one
I leave behind the manifest and anything with .vshost. in the name, and the pdb files.
NOTE: There is a most excellent blog entry by John Robbins on PDB files and why sometimes it's a good idea to deploy them along side. It's worth a close read PDB Files
The minimum files you need are *.bin *.exe and app.config if you have one.
Related
I want to install single folder which contains static data required in installer in STARTUP action how can I achieve this required behavior.In startup that folder should get installed in installation directory but single folder only not all of files.
When "Startup" actions are running, no files from the distribution tree are available.
If you need files at that point, you have to add them to
Installer->Custom Code & Resources
then they will be available in the ${installer:sys.resourceDir} folder.
If that is inconvenient, you have to move your actions after the "Install files" action, then the files from the distribution tree will be installed.
I have a Program Setup project in my solution that should install my program to the default location:
[ProgramFilesFolder][Manufacturer][ProductName]
However, this is not working and the installer is dumping all of the project files into my C: drive during installation without creating any folders at all. Even the installer says the files will be installed in "C:\Program Files (x86)\blah\blah", but they aren't. I double-checked I have values set for manufacturer and product name that don't include any special characters besides space.
I followed this tutorial step by step to get where I am:
https://learn.microsoft.com/en-us/cpp/ide/walkthrough-deploying-your-program-cpp?view=vs-2019
Any ideas on what could be causing my installation files to be placed in the C: drive?
I will say, my project runs correctly when running from the C drive, so the installation is technically working, it's just failing to create the program files folders and place the installation files in the correct location.
Thanks.
It seems the issue has to do with permissions on the computer. The files install to the correct directory when the installer is ran from the downloads folder.
I still find it odd that the installer dumps files into the C root drive instead of aborting the task, but at least I know now you can avoid this issue by running installer from the downloads folder.
This is just a newbie question, but what files and folders should be kept in version control software (we use mercurial, but this isn't the subject)?
I think there are those files and folders:
src/
res/
lib/
native/
override/
test/
build.xml
codenameone_settings.properties
icon.png
Do you have some other recommendation?
Your list seems to be about right. For reference this is what we use as our .gitignore file in our projects:
*.jar
nbproject/private/
build/
nbbuild/
dist/
lib/CodenameOne_SRC.zip
lib/impl/
Notice we didn't fully exclude the lib directory only its jars, zip and impl subdirectory. This means that cn1libs that we include will be under source control which isn't necessarily the best policy (since they are binary) but its convenient.
Also check out Working With A Codename One Project In Git/SVN version control
I cover the specific particulars of working with the resource file and res file hierarchy in version control in that answer.
The question here indicates that when an ExePackage has DownloadUrl it also needs a copy of SourceFile.
We keep the copy of the Sql Server Setup in a separate Release folder that is not part of the development environment. We do this so our daily backup doesn't have to copy the same 300+MB every time.
However, when Burn builds our Setup, it copies the SourceFile to the output folder along with the .exe it creates. The filename is the DisplayName and the file is the same size as the file in the Release folder.
The result is similar to setting CopyLocal on a project reference.
Can I tell Burn not to copy this file on build?
Edit
I am deleting the file with the post-build event in Visual Studio. However, this doesn't answer the original question.
Further Information
After I delete the file and run the Setup, I get an error in the MSI log: Failed to resolve source for file.
This happens at run-time, and the file referenced is located in the project output folder. How is it possible that Burn is looking at the source file at run-time?
That question also mentioned that it if you provide the RemotePayload element, then it doesn't need the SourceFile. So use RemotePayload so that it never copies it.
I use JDIC in my executable Jar file, when it runs, it needs to have IeEmbed.exe and MozEmbed.exe in the same dir as the Jar file, I wonder if there is a way to package all 3 files into a single executable Jar file, so when I distribute the app, there is only one executable Jar file to worry about, besides, there are problems sending and downloading *.exe files, what's the solution ?
For instance, my executable Jar file is called Java_App.jar, how to get <1>IeEmbed.exe <2>MozEmbed.exe and <3>Java_App.jar into a Jar file called : My_App.jar, and when user double clicks on My_App.jar, it will run the Java_App.jar and find the needed IeEmbed.exe and MozEmbed.exe files from inside the My_App.jar package without unpacking and save them into a local dir.
There is no problem packaging them together per se. The jar file is finally a .zip file.
The problem will come when your app try to load it because it won't be able to find the .exe in the system path.
The solution is to make an installable file ( which can be a .zip file ) and expand and copy the .exe file for you for instance in a "bin" directory