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 che
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.
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):
The Condition-attribute has just what you need: an Exists-condition. Simplified example is:
<Copy Condition="!Exists($(DestPath)database.dat)"
SourceFiles="$(SrcPath)database.dat"
DestinationFolder="$(DestPath)"/>
See also this topic.
On the Setup Project, right-click on the file you want to keep on the installation folder, select Properties and set Permanent to true.