I have a Setup/Deployment Project for my Application and it outputs certain files (*.dll, *.dat) to the Application Folder.
I would like a condition to be set to check if a file currently exists or not. If it doesn't, write it but if it does, don't install it from the package. Is it possible?
The file is called "database.dat" and under the Properties, I see a "Condition" attribute, but I'm not familiar with what to put in there.
Any input is greatly appreciated. Thanks in advance.
Edit:
Reason why it would already exist is that from a previous install there would be data from a DataSet / Data Table which we don't want to overwrite.
To only install a file, if it doesn't already exist, follow these steps:
Add a "Search Target Machine" entry under the "Launch Conditions" view in your setup project.
fill in the FileName
property and the Folder
property.
Property
property should be a constant you can remember, like "MY_AWESOME_FILE_EXISTS
"Condition
property "not MY_AWESOME_FILE_EXISTS
"That is all.
Sources (since I just had to figure this out for myself):
You should just install the data file as a test to see what actually happens. The reason I say this is that Windows Installer will not overwrite files that have been changed after they were first installed. See this rule:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa370531(v=vs.85).aspx
It seems to me you may need to do nothing at all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With