TixUtils library
The default extension DLL implementation includes a number of helper functions that may be useful when you implement your own extension DLL. None of the function require special runtime support; they can be compiled without the use of the C/C++ runtime library, MFC, or any other libraries. Only a minimal set of standard Windows DLLs are required on the target system.
The functions are documented in their header file; their full source code is also included. Please consult the following files for details:
- InstallMate 9\Tix\TixUtils.h
- The annotated declarations of the utility functions.
- InstallMate 9\Tix\TixUtils.c
- The source code for all utility functions.
Memory allocation
| Function | Description |
|---|---|
| TixMalloc | Allocate a block of unitialized memory |
| TixCalloc | Allocate a block of zero-filled memory |
| TixFree | Release an allocated block of memory |
Null-terminated string and memory block manipulation
| Function | Description |
|---|---|
| TixMemMove | Copy bytes in memory (overlapping source and destinations ranges are allowed) |
| TixStrCopy | Copy a null-terminated string |
| TixStrNCopy | Copy a null-terminated string up to a given maximum length |
| TixStrDup | Allocate a copy of a null-terminated string |
| TixStrDupA2W | Allocate a Unicode copy of a null-terminated multibyte string |
| TixStrDupW2A | Allocated a multibyte copy of a null-terminated Unicode string |
| TixStrToU | Parse an unsigned decimal integer number from a null-terminated string |
| TixLoadStringEx | Load a (possibly localized) string resource from the extension DLL's resources |
| TixParseVersion | Parse a dotted version number a.b.c.d from a null-terminated string |
| TixFormatVersion | Format a version number a.b.c.d to a null-terminated string buffer |
File and directory path operations
| Function | Description |
|---|---|
| TixMakePath | Combine a directory path and file name to a new path |
| TixGetFileName | Return a pointer to the rightmost component in a file or directory path |
| TixPathRemoveRight | Removed the rightmost component from a file or directory path |
File and directory operations
Note: Symbolic <pathnames> are allowed and will be resolved automatically.
| Function | Description |
|---|---|
| TixCreateDirectory | Create a new directory |
| TixCopyDirectory | Copy a directory and its contents, with optional depth-limited recursion |
| TixDeleteDirectory | Delete a directory and its files, without recursion |
| TixDeleteDirectoryRecursive | Delete a directory and its files, including all its subdirectories |
| TixDeleteFiles | Delete all files that match a given wildcard specification |
| TixFileExists | Check if a file or directory exists |
| TixFindFile | Perform a recursive search for a file or directory that matches a given wildcard specification |
| TixGetVersionInfo | Retrieve the version information from an executable file |
| TixGetFileVersion | Retrieve the file version from an executable file |
| TixGetOcxVersion | Retrieve the installed version of an ActiveX control, given its CLSID or ProgID |
| TixGetOcxVersionEx | Extended version of TixGetOcxVersion that checks a list of CLSID and/or ProgIDs. |
| TixCreateShortcut | Create a new shortcut (i.e., shell link) to a file or folder. |
| TixDeleteShortcut | Delete a shortcut to a file or folder. |
User interaction
| Function | Description |
|---|---|
| TixMessageBox | Display a message box with optionally localized text. In quiet mode, returns the default response. |
| TixDialogBox | Display a dialog box with optionally localized content. |
| TixQueryDirectory | Display the standard Windows Select Folder dialog box and returns the selected directory path. |
Process-related operations
| Function | Description |
|---|---|
| TixWait | Suspend the installer process for a number of milliseconds. |
| TixIsProcessRunning | Check if another process is running. |
| TixIsProcessRunningEx | Enumerate all running instances of a given process name and perform a callback action on each one. |
| TixEnumProcesses | Enumerate all running processes and perform a callback action on each one. |
| TixIsProcessRunningNT | Enumerate all running instances of a given process name, using a Windows NT-specific method. |
Debugging macros
| Macro | Description |
|---|---|
| TIX_OPENLOG | Open the debugging log file; only has effect in Debug builds. |
| TIX_CLOSELOG | Close the debugging log file; only has effect in Debug builds. |
| TIX_LOG | Write a message to the debugging log file; only has effect in Debug builds. |
| TIX_MSGNAME | Returns the symbolic name of the given TIX message number. |