Inno Setup – General Information

April 21, 2023

I use Inno Setup to create installers. It is simple to use but has many complex capabilities. This page is just general information and links to important information. Links Inno Setup main site page – Inno Setup (jrsoftware.org) Main help file – Inno Setup Help (jrsoftware.org) Inno Setup Preprocessor (ISPP) help file – Inno Setup Preprocessor Help (jrsoftware.org)… Read More »

Inno Setup Startup Testing and Logging

April 23, 2023

Inno Setup allows you to send logging information to a file during install/uninstall operations. You must specify the log option and destination file on the command line. Example Installation The InitializeSetup() function is called shortly after the installer/uninstaller starts. It runs before the user has been prompted for a target folder so {app} is undefined here. In fact,… Read More »

Search SQL Database for Instances of Column Data Type

April 20, 2023

I needed to search an entire database to find 64-bit integer data types were being used to make sure I was handling them correctly. I needed to create a query to find all the columns in the database that are SQL bigint type. I found a and modified it to get the location information I needed. Other Uses

Register and Unregister Select Shell Packages

April 19, 2023

When adding shell package to the SoftPro Select client GUI application, you must do a two step process. First is to pass your package to a Select command line tool that puts package entries in the registry. Second is to start the Select application with a command line argument that forces it to merge all the shell package… Read More »

Recreate Select Development Environment

April 19, 2023

SoftPro Select has the option to create a development environment using non-production registry entries for new code. This registry key and its children can be deleted and recreated as needed. If development efforts have made a mess out of registry by not uninstalling packages correctly or polluting registry with crap, you can use the procedure below to delete… Read More »

How to Embed an Image in a Web Page

April 13, 2023

In order to create a self-contained web page that has no external links, it is easy to place all JavaScript and CSS elements in the page. However, adding an image is not straightforward. This procedure will enable you to convert an image to Base64 and embed the image in the page source. We will assume you are using… Read More »

Add Exception Viewer During Select IronPython Development

April 12, 2023

It can be very difficult to get debug information when developing Python scripts in Select – especially developing Automation Code Snippets. This technique provides a welcome solution by writing error/debug information to the system Event Log. Be aware the developer MUST REMOVE the Event Log writer before releasing the code to production. Setup Add the following function to… Read More »

MCP2221x – USB 2.0 to I2C/UART Protocol Converter with GPIO

April 2, 2023

The MCP2221x is used to allow a host computer to communicate with hardward via USB. The interface chip does not require any onboard logic to provide a bidirectional UART, and I2C interface. Using the appropriate host driver software to communicate to the chip, you can configure the remaining 4 GPIO pins as up to three 10-bit ADCs, single… Read More »

Remove Misbehaving Visual Studio VSIX Extension by Force

February 27, 2023

I have been working with an extension from a software company that I could not uninstall by going through the usual Visual Studio Extensions ->Manage Extensions -> Installed screen. Ultimately I determined that the extension had a bug in the uninstaller. Face it – how much does an uninstaller get tested anyway? I followed the instructions in many… Read More »