I have discovered that the <msi> and <msm> tasks create and delete a directory named "Temp" relative to the sourcedir specified in the task. Lines such as the following appear in multiple places throughout these tasks.
string tempDir = Path.Combine(msi.sourcedir, "Temp");
Unfortunately, I have built my build script to rely on that same directory. Behavior such as this seems incorrect. At a minimum, it should be well documented in the task documentation. Even better would be to allow this directory name to specified as a property of the task. Finally, the best solution (IMHO) would be to use Path.GetTempPath() and Path.GetTempFileName() to manage temporary folders.
Thoughts?
- Tom