Summary
This article describes how to create a Directory table entry and set it through InstallScript in an MSI Project.Synopsis
This article describes how to create a Directory table entry and set it through InstallScript in an MSI Project.
Discussion
The following steps can be used to create a Directory table entry, and set it to a desired path via InstallScript.
- Open the Directory Table via the Direct Editor.
- Create the following row in the Directory table:
Directory Directory_Parent DefaultDir IsDescription IsAttributes MYDIR TARGETDIR . - Navigate to the InstallScript view and create a new script file.
- On the right side, you will fine a default function called MyFunction. Modify the function so that it looks like the following:
function MyFunction(hMSI) STRING svString; begin svString = "C:\\TestFolder"; //Two slashes are needed in order to define subdirectories in InstallScript. //Note: for the purposes of this script, the path has been hardcoded. //You must have an accessible C drive to run this script. //If you do not have a C drive then change the path to point to an accessible drive. MsiSetTargetPath(hMSI, "MYDIR", svString); end;
- Compile the script.
- Right-click Custom Actions in the Sequences/Action view.
- Select Custom Action Wizard from the context menu.
- Proceed through the wizard, and give the custom action a unique name.
- Select Run InstallScript code for the custom action type, and in the next panel, select MyFunction (or the new name of the entry-point function) for the source.
- Select Next, accepting the default selections until the wizard creates the custom action.
- Right-click the CostFinalize action in the User Interface or Execute sequence, and choose Insert.
- Select Custom Actions from the drop-down box provided, and choose your custom action.
- Put a condition of Not Installed on the custom action.
- Build a release and run the setup.
Additional Information
For more information on the functions discussed, see the Windows Installer Help Library topics MsiSetTargetPath and CostFinalize.
Was this helpful?
Related Articles
Setting a Feature or Component Destination at Run Time Using FeatureSetTarget 3Number of Views Populating A List Box Dynamically At Run Time 5Number of Views Accessing the MSI Database at Run Time 18Number of Views Disabling Features at Run Time 3Number of Views Creating Predetermined User Accounts at Run Time on Windows 3Number of Views
Revenera Assistant
Online
Hi, I am Reva - Ask me anything.
Updates
No new updates
Chat
Home
Updates
/**/
Thanks for the feedback!
Your feedback has been saved.Rate this response:
1
2
3
4
5
Add Additional feedback ( Optional )
0/240
English
English
Language changed successfully
Something went wrong
Email sent successfully
Something went wrong
Case create successfully
Are you sure you want to cancel
the case creation?
Please select a product to submit the case.
Please select a product version to submit the case.
0/255
Upload Attachment
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to cancel the case creation?
Case closed successfully
File Upload
Maximum file size allowed is 3 MB.
File type not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
© 2026 Flexera Software. All Rights Reserved.
Case id: 00001065
Activity: Status change: 2 hours ago