1. Olan Knight
  2. PowerBuilder
  3. Friday, 1 March 2019 21:46 PM UTC

Inno Setup v5
Windows 7, 64 bit platform

Everything seems to work, except that the application itself does not show up in the Control Panel's "Programs and Features" applet. However, the Uninstaller entry exists there! 

Folders and files are created correctly
The app is where it is supposed to be and works perfectly
The uninstaller is created and shows up in the Programs and Features Control Panel applet

Registry entries are created correctly in Wow6432Node
- HKLM\Software\Microsoft\Windows\AppPath\
- HKLM\Software\Microsoft\Windows\CurrentVersion\AppPath\
- HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\

Here's the SETUP section:

#define MyAppId            "A44C3C34-52ED-4625-8BBC-912B9119052B"
#define MyAppName       "iCABS4_5"
#define MyAppExeName  "iCABS4_5.exe"
#define MyAppIcon         "taxi_v3_64x64_v2_black2.ico"
#define MyAppIconPath   "J:\Applications\QualityAssurance\csgi12\ICABS\__ICABS b0165\installer\"
#define MyAppIconName  "J:\Applications\QualityAssurance\csgi12\ICABS\__ICABS b0165\installer\taxi_v3_64x64_v2_black2.ico"
#define MyAppPath       "C:\Program Files\CSGI\ICABS4_5"          #define MyAppVersion   "4.0.5.0165"
#define Reg32AppKey   "Software\CSGI"
#define Reg64AppKey   "Software\Wow6432Node\CSGI"
#define Reg32SubKey   "Software\CSGI\\ICABS4_5"
#define Reg64SubKey   "Software\Wow6432Node\CSGI\ICABS4_5"
#define SourceFileDir     "J:\Applications\QualityAssurance\csgi12\ICABS\__ICABS b0165"

[Setup]
AppId={#MyAppId}
ArchitecturesInstallIn64BitMode=x64
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName="{#MyAppName} {#MyAppVersion}"
AppPublisher=Intec Billing/CSG International
AppPublisherURL=http://www.csgi.com/
AppSupportURL=http://www.csgi.com/
AppUpdatesURL=http://www.csgi.com/
Compression=lzma
DefaultDirName=C:\Program Files\CSGI\{#MyAppName}
DisableDirPage=yes
DisableProgramGroupPage=yes
LicenseFile={#SourceFileDir}\installer\iCABS4 Setup License Agreement.txt
OutputDir={#SourceFileDir}\installer
OutputBaseFilename="{#MyAppName}-v{#MyAppVersion}_Full_Setup"
SetupIconFile="{#MyAppIcon}"
SetupLogging=yes
SolidCompression=yes
VersionInfoVersion={#MyAppVersion}

CreateUninstallRegKey=TRUE
UninstallDisplayName="{#MyAppName} v{#MyAppVersion} Uninstall "
UninstallDisplayIcon={#MyAppIconPath}\{#MyAppIcon}

 

WHAT am I doing wrong?????

Olan Knight Accepted Answer Pending Moderation
  1. Tuesday, 5 March 2019 20:15 PM UTC
  2. PowerBuilder
  3. # 1

I found the answer.

It has to do with these SETUP parameters and how they actually work vs how they are named. The comments below indicate the actual action of the SETUP variable.

; If this SETUP parameter is set, its value will be used for the name displayed in
; the Control Panel's "Programs and Features" applet instead of the value of APPNAME.

; ----------------------------------------------------------------------------------------------------------------------
;UninstallDisplayName="iCABS4_5 v4.0.5.0166 Uninstall"

; This sets the icon displayed in the "Programs and Features" applet of the Control panel
UninstallDisplayIcon={#SourceFileDir}\installer\{#MyAppIcon}

 

The items above seem to indicate that it is the uninstaller that is listed in the Control Panel, rather than the actual application. The SETUP parameter names would make sense if this were the case, but I had always assumed that it was the name of the application that was listed in the "Programs and Features" applet of the Control Panel!

Live and learn.


Later -

Olan

 

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Monday, 4 March 2019 03:19 AM UTC
  2. PowerBuilder
  3. # 2

I think you've overdone it a bit with the defines. The #define is not a standard feature, it is part of Inno Setup Preprocessor which is an add-on.

I would only use it for values that repeat or would change frequently.

 

Comment
There are no comments made yet.
Olan Knight Accepted Answer Pending Moderation
  1. Monday, 4 March 2019 01:35 AM UTC
  2. PowerBuilder
  3. # 3

The #define statements are so that I only have to hard code values once, in one location, at one time.
Throughout the remainder of the INNO script, I can refer to the defined constants.

I'm now wondering if I need to hardcode the ICON value with SetupIconFile instead of using the #define.
I'll give that a try tomorrow.


Olan

 

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Friday, 1 March 2019 23:53 PM UTC
  2. PowerBuilder
  3. # 4

I use InnoSetup. I don't know why you have all those #define statements at the beginning. Here is one of mine as an example:

 

[Setup]
AppName=Bootstrap
AppVersion=2.5.3
AppVerName=PowerBuilder Bootstrap - Demo Edition
AppPublisher=TopWiz Software
AppPublisherURL=http://www.topwizprogramming.com/
DefaultDirName={pf}\TopWiz\Bootstrap
OutputBaseFilename=Bootstrap_Demo
OutputDir=D:\PBSource\InnoSetups\Bootstrap
DefaultGroupName=TopWiz
LicenseFile=Bootstrap_License.txt
WizardImageFile=compiler:WizModernImage-IS.bmp
WizardSmallImageFile=compiler:WizModernSmallImage-IS.bmp

[Files]
Source: D:\PBSource\Bootstrap\Deploy_Demo\*; DestDir: {app}; Flags: ignoreversion

[Icons]
Name: {group}\Bootstrap; Filename: {app}\bootstrap.exe; Parameters: ; WorkingDir: {app}

[Registry]
Root: HKCU; Subkey: Software\TopWiz\Bootstrap; ValueType: string; ValueName: "Location"; ValueData: "{app}"; Flags: uninsdeletekey;
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\bootstrap.exe; ValueType: string; ValueData: {app}\bootstrap.exe
Root: HKLM; Subkey: SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\bootstrap.exe; ValueType: string; ValueName: Path; ValueData: {app}

[Run]
Filename: "{app}\bootstrap.exe"; Description: "Launch Bootstrap"; WorkingDir: "{app}"; Flags: postinstall nowait

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.