I have a project with a very simple folder synchronization. It's APPDIR. However I noticed that it never seems to run when built via command line (we use automation to build the project).
<COMPONENT cid="caphyon.advinst.msicomp.SynchronizedFolderComponent">
<ROW Directory_="APPDIR" SourcePath="..\FilesToInstall\Application" Feature="MainFeature" ExcludePattern="*~|#*#|%*%|._|CVS|.cvsignore|SCCS|vssver.scc|mssccprj.scc|vssver2.scc|.svn|.DS_Store" ExcludeFlags="6" FileAddOptions="4"/>
</COMPONENT>
I'm outputting everything from the build server to the log, so I know the files are there at build time for it to synchronize. If I leave the above configuration, it does nothing at all. If I create explicit steps for subfolders like this example, then it will synchronize the subfolders without issue:
<COMPONENT cid="caphyon.advinst.msicomp.SynchronizedFolderComponent">
<ROW Directory_="APPDIR" SourcePath="..\FilesToInstall\Application" Feature="MainFeature" ExcludePattern="*~|#*#|%*%|._|CVS|.cvsignore|SCCS|vssver.scc|mssccprj.scc|vssver2.scc|.svn|.DS_Store" ExcludeFlags="6" FileAddOptions="4"/>
<ROW Directory_="images_Dir" SourcePath="..\FilesToInstall\Application\images" Feature="AI32BitFiles" ExcludePattern="*~|#*#|%*%|._|CVS|.cvsignore|SCCS|vssver.scc|mssccprj.scc|vssver2.scc|.svn|.DS_Store" ExcludeFlags="6" FileAddOptions="4"/>
</COMPONENT>
It still does not synchronize anything in the root application folder. Why? Because MainFeature can't synchronize files for some reason? Makes no sense, as which feature the synchronization is tied to is completely arbitrary. It just needs to run before the exe is created.
It will clearly log a folder it is going to sync and the files:
Notification: Starting synchronization of "APPDIR\fonts" with "C:\jenkinspdn\workspace\
otification: File added:"APPDIR\fonts\fonts.txt"
Notification: File added:"APPDIR\fonts\LICENSE"
Notification: File deleted:APPDIR\fonts\.keep
Notification: Ending synchronization of "APPDIR\fonts"
There is no log entry for simply "APPDIR" when there should be.