IniUtil v1.11 A freeware COM DLL for handling
INI files
Welcome to IniUtil, A COM DLL to allow easy access to the Win32 API's which deal
with INI files.
IniUtil is a dual interface COM dll which is designed to allow access to reading
/ writing ini files from COM enabled languages / environments including ASP, Windows
Script, JScript, VBScript, VBA, Visual Basic 6, Visual C++, Delphi etc etc. Although
MS recommends usage of the registry over ini files and officially says that the
API's are only provided for 16 bit compatibility, many products and people find
ini files easier to use, less dangerous and more portable from one machine to another
than use of the registry. Due to their widespread use and the lack of COM enabled
ways to get at them, IniUtil was born.
Features
- Standard COM dual interface exposed.
- Closely models the Win32 API's.
- All of the Win32 INI SDK calls are exposed through the DLL.
- The DLL correctly handles underlying issues with the API's where you
must know the size of what you are reading from an INI file before you actually
read it. BTW, INI support in MFC suffers from this problem with strings being
limited to 4096 bytes in size.
- Use of rich error information through the ISupportErrorInfo COM interface.
- Small footprint dll of just 349KB for x86 and 460KB for x64.
- Supports per user registration as well as the standard per machine registration.
This is achieved by the use of the /n and /i command line options to regsvr32.
The enclosed zip file contains the source
code, help documentation and precompiled binaries for x86 and x64.
Updates
v1.11 (7 May 2022)
- Updated copyright details.
- Updated the code to use C++ uniform initialization for all variable
declarations.
v1.10 (10 March 2019)
- Updated copyright details.
- Fixed more Clang-Tidy static code analysis warnings in the code.
v1.09 (5 October 2018)
- Updated copyright details.
- Fixed a number of C++ core guidelines compiler warnings. These changes
mean that the code will now only compile on VC 2017 or later.
v1.08 (2 May 2017)
- Updated copyright details.
- Updated the code to compile cleanly using /permissive-.
v1.07 (30 October 2016)
- Updated copyright details.
- Made IniUtil freeware instead of shareware. Now included in the zip file
download is the source code for IniUtil
- Updated code to clean compile on VC 2010 - 2015.
- The binaries include in the download are now compiled using VC 2015 and
include x64 binaries as well as x86 binaries.
- Replaced NULL with nullptr throughout the codebase
- Removed Non-Unicode build configurations from the project.
v1.06 (18 July 2006)
- Updated copyright details.
- Updated documentation to use the same style as the web site.
- Code now uses SEVERITY_ERROR define for MAKE_HRESULT calls.
- Updated code to clean compile on VC 2005
- All calls to SysAllocString are now checked for failure.
- All C++ heap allocations via "new" are now checked for failure.
v1.05 (25 August 2003)
- Code now does not return an error if get_Sections detects no sections in
the ini file
- Code now does not return an error if ReadSection detects no key value pairs
in a section
v1.04 (30 July 2003)
- Updated all the functions which return COM SAFEARRAY's to instead return
SAFEARRAY's of VARIANT's. This avoids problems which JScript has with VB style
arrays.
- Updated code which returns COM errors to make use of MAKE_HRESULT.
30 April 2003
- Updated documentation to refer to online registration links.
v1.03 (20 March 2003)
- Fixed a bug in ReadString and ReadKeys where the default value is set to
an empty string and the value(s) is not present in the ini file. Thanks to Serhiy
Pavlov for reporting this problem.
v1.02 (16 January 2003)
- Fixed problem registering the dll. It was due to a missing registry script
resource in the dll !.
v1.01 (27 November 2001)
- Removed dependency of dll on MFC. Now does not require any special dlls
to be installed to use!.
- Made a few other tidy up changes to code base also.
v1.0 (25 November 2001)