Greetings,
You are correct - you cannot create an empty directory in a straightforward manner from the CDK UI. Here's a few suggestions:
If you're in a situation where you can modify the application, you could use the GetProjectDir() function along with the MakeDir() function at application startup to make the directory for you. GetProjectDir() returns the directory that you're running from, and you could append "\\log", then call MakeDir() to create that directory.
Another way would be to create a small DOS batch file that you would include in your CDK build, which would create the directory for you. If you look at the help under the Advanced button on the CDK, you see that there are some predefined parameters that can be passed to your application - including installation dir. Knowing this, you could create a batch file called "foo.bat", included it in your CDK build, and schedule it for execution under the advanced option, and pass it a command line parameter of %dest (other possible command line arguments in the help). Foo.bat might look like this:
@echo off
mkdir "%1\log"
For registry entry creation, there is a variation on the last tip to programmatically create registry entries (we ship a sample that shows this: CVI\samples\apps\regadd). You could add this code to your application, again scheduling it for execution at installation time (passing it the %dest option if you need it).
However, especially for the registry key question - it's moderately easy to modify the CDK using a free database editor tool, such as Microsoft's Orca (getting this setup the first time is the most painful part). If you haven't already read the CDK modification appnote, you should probably start there - also available online at: http://zone.ni.com/devzone/conceptd.nsf/webmain/2FF2B17F4DC7CFDF86256AA3006990C4?opendocument. You can download Orca from Microsoft, via the platform SDK, Windows installer option (once downloading the SDK, you might have to manually install Orca.msi, often in
\Microsoft Platform SDK\Bin\). The documentation for the various MSI tables comes along with the SDK, and should have the information you need. In particular, you'll need to make entries in the Registry table, tying each row back to one of your installed files in the Component table.
Hope this was helpful, and please reply if you need more information on the specifics of any of the above.
Regards,
- WesW / NI