windows-installer

0.2.0 • Public • Published

Node.js bindings for the Windows Installer API

This package lets you open, query and modify MSI files from Node.js. It provides some abstraction on top of the native Windows Installer API but otherwise just passes through any arguments.

The API is currently synchronous and will throw errors at the Windows Installer API's behalf.

Usage

Install the package

$ npm install --save windows-installer

Query the database

const wi = require('windows-installer');
 
const db = new wi.Database('C:/Installer.msi', wi.MSIDBOPEN_READONLY);
const view = db.openView("SELECT * FROM _Tables");
 
view.execute();
 
let record = null;
 
while ((record = view.fetch())) {
    console.log(record.getString(1));
}

API coverage

Database functions

Database functions requires a Database (named db in the examples below). This can be obtained by running new Database(<Path>, <PersistMode>).

Win32 Function Node.js function
MsiDatabaseCommit db.commit()
MsiDatabaseGetPrimaryKeys db.getPrimaryKeys(<TableName>)
MsiDatabaseIsTablePersistent db.isTablePersistent(<TableName>)
MsiDatabaseOpenView db.openView(<Query>)
MsiOpenDatabase new Database(<Path>, <PeristMode>)

View functions

View functions requires a View (named view in the examples below). This can be obtained by running openView on a Database instance.

Win32 Function Node.js function
MsiViewGetColumnInfo view.getColumnInfo(<InfoType>)
MsiViewClose view.close()
MsiViewExecute view.execute()
MsiViewFetch view.fetch()
MsiViewGetError view.getError()
MsiViewModify view.modify(<Mode>, <Record>)

Record functions

Record functions requires a Record (named rec in the examples below). This can be obtained by running fetch on a View instance or by running new Record(<NumFields>).

Win32 Function Node.js function
MsiCreateRecord new Record(<NumFields>)

License

Code licensed under the MIT License.

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i windows-installer

    Weekly Downloads

    2

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    51.8 MB

    Total Files

    70

    Last publish

    Collaborators

    • vktr