Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

“Invest in yourself — your confidence is always worth it.”

Explore Cosmetic Hospitals

Start your journey today — compare options in one place.

Inno Setup script example

msiexpert created the topic: Inno Setup script example
I have been working on an inno script this past week, which now appears to be
working correctly. I thought I would post it to the list server so it will
become part of the nug archives for future reference.

TimberValue is a program written on a Mac, and is currently being distributed
on both the Mac and Windows platforms. It creates two files: 1) a data file
with the extension .tvd and 2) a license file with the extension .tvl

Both of these files are RB database files.

Files with the .tvd extension are named by the user, and have the icon
TmbrDatabase.ico
Files with the .tvl extension are named TmbrLicense.tvl and have the icon
TmbrLicense.ico

Icons were created using the Mask-R-Aid program.

My inno setup data is contained in a folder called “Inno Setup Data” which I
have placed on the Windows desktop. The path to this folder is C:\Documents and
Settings\TJ Hanson\Desktop\Inno Setup Data. The icons are contained in a folder
called “Icons” within the “Inno Setup Data” folder.

One quirk I noticed is that the icons may not appear until you reboot the
Windows platform. I assume Windows wants a reboot before it looks at the new
registry items.

If anyone sees anything wrong, please let me know. I haven’t noticed any
problems. Icons appear as they should; the program launches when a database
icon is double clicked; the program launches when a database icon is dragged on
top of the program icon; and the SampleProject.tvd file brought in by the inno
script is given the correct database icon.

The whole script was too big for posting, so below are the Tasks, Files, Icons
and Registry sections

Thanks to everyone who may have helped with this script. TJ
=============================================================

[Setup]

[Languages]

[Tasks]
Name: “desktopicon”; Description: “{cm:CreateDesktopIcon}”; GroupDescription:
“{cm:AdditionalIcons}”; Flags: unchecked

[Files]
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\TimberValue.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\TimberValue Libs\*”; DestDir: “{app}\TimberValue Libs”; Flags:
ignoreversion recursesubdirs createallsubdirs
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\Icons\*”;
DestDir: “{app}\Icons”; Flags: ignoreversion recursesubdirs createallsubdirs
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\andale32.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\arial32.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\ReadMe.rtf”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup
Data\SampleProject.tvd”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\SLA.pdf”;
DestDir: “{app}”; Flags: ignoreversion
Source: “C:\Documents and Settings\TJ Hanson\Desktop\Inno Setup Data\User
Manual.pdf”; DestDir: “{app}”; Flags: ignoreversion

[Icons]
Name: “{group}\TimberValue”; Filename: “{app}\TimberValue.exe”
Name: “{group}\{cm:UninstallProgram,TimberValue}”; Filename: “{uninstallexe}”
Name: “{commondesktop}\TimberValue”; Filename: “{app}\TimberValue.exe”; Tasks:
desktopicon

[Registry]
Root: HKCR; Subkey: TimberDatabase\shell\open\command; ValueType: string;
ValueName: ; ValueData: “””{app}\{{TimberValue.exe}”” “”%1″””
Root: HKCR; Subkey: TimberDatabase\DefaultIcon; ValueType: string; ValueName: ;
ValueData: {app}\Icons\TmbrDatabase.ico,0
Root: HKCR; Subkey: TimberDatabase; ValueType: string; ValueName: ; ValueData:
TimberValue Database File; Flags: uninsdeletekey
Root: HKCR; Subkey: .tvd; ValueType: string; ValueName: ; ValueData:
TimberDatabase; Flags: uninsdeletekey

Root: HKCR; Subkey: TimberLicense\shell\open\command; ValueType: string;
ValueName: ; ValueData: “””{app}\{{TimberValue.exe}”” “”%1″””
Root: HKCR; Subkey: TimberLicense\DefaultIcon; ValueType: string; ValueName: ;
ValueData: {app}\Icons\TmbrLicense.ico,0
Root: HKCR; Subkey: TimberLicense; ValueType: string; ValueName: ; ValueData:
TimberValue License File; Flags: uninsdeletekey
Root: HKCR; Subkey: .tvl; ValueType: string; ValueName: ; ValueData:
TimberLicense; Flags: uninsdeletekey

[Run]

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services — all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

4 Open Source Alternatives to Slack for Team Chat: IRC, Let’s Chat, Mattermost, and Rocket.Chat

If you want Slack-like team communication with more control, these four open source options are a practical starting point. This guide compares their strengths, trade-offs, and how to run a short technical pilot.

Read More

jstack Utility Deep Dive: JVM Thread Dumps, Deadlocks, and Mixed Stacks

This guide explains how to use jstack to diagnose JVM hangs and deadlocks, including forced dumps, core-file analysis, and mixed Java/native stack traces. It also clarifies where jcmd fits in modern JDK 8+ troubleshooting guidance.

Read More

Open Source Scanning Software: Evaluate Legacy Tools and Build a Modern SCA Workflow

The original post listed several tool names but no implementation guidance. This revised guide explains what open source scanning means in DevSecOps, how to interpret those legacy names, and how to implement a practical CI scanning workflow.

Read More

Lyca Mobile USSD Shortcuts: Check Balance and Data Balance Quickly

Use these Lyca Mobile USSD shortcuts to check your prepaid balance and remaining data in seconds. This updated reference includes quick steps, a workflow diagram, and troubleshooting guidance.

Read More

Single Sign-On Implementations: Practical Comparison and Evaluation Guide

This guide expands a short 2015 link list of SSO tools into a practical DevOps reference. You will learn how SSO flows work, how to compare implementations, and how to validate integrations with real commands.

Read More
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
0
Would love your thoughts, please comment.x
()
x