How to create pre-install another software using InnoScript

Started by bibin98, June 08, 2012, 06:40:11 PM

Previous topic - Next topic

Randem

When you created the External Install, there is a selection that tells InnoScript to create a task for your entry. The entry is as stated below:
 
Task Needed:
 
You will need to edit your External Install to select it.

bibin98

OK, I have turn Safe Mode to ON.
 
BTW, how can I create the task? InnoScripts didn't create it automatically?

Randem

No, I meant this line:
 
Source: C:\WINDOWS\system32\stdole2.tlb; DestDir: {sys}; Flags: regtypelib restartreplace uninsneveruninstall;  
 
You had to turn SAFE MODE off to get InnoScript to do this. There is a reason it's called SAFE MODE. This file is unsafe to deploy if you have not done the research to find out if it can be deployed and to what OS.
 
Yes you created an External install but you did not tell InnoScript to create the associated task to go with it. You have to select to create the task if you add one.

bibin98

Do you mean this row?
Source: C:WINDOWSInstaller$PatchCache$Managed00002109030000000000000000F01FEC12.0.4518MSCOMCTL.OCX; DestDir: {sys}; Flags: regserver restartreplace sharedfile;  
 
 
InnoScript automatically create that, but if I run at my home, that row doesn't exist, so I didn't know which one is right.
 
I click External Installs and I choose file installer mySQL, but I don't know what parameter should I type.

Randem

BTW: You should not be getting files directly form you system areas. There is a whole section on that... There is also a message each time you run InnoScript about this and what to do about it. This is asking for trouble down the road if you do this.
 
You also had to go thru a procedure to get InnoScript and Inno Setup to ignore this. This is very bad to do.

Randem

Ok, so how did this line get into your script. You just gave an error message without telling the full story.
 
Filename: {src}Supportmysql-5.5.24-win32.msi; Parameters: /passive; Flags: skipifdoesntexist; Tasks: mySQLDatabase; WorkingDir: {tmp}

bibin98

; InnoScript Version 11.1  Build 17
; Randem Systems, Inc.
; Copyright (c) 2002 - 2011, Randem Systems, Inc.
; Website:  https://randemsystems.com
; Support:  https://randemsystems.support
; OS: Windows XP 5.1 build 2600 (Service Pack 2)
 
; Derived from VB VBP Project File
 
; Designed for Inno Setup Version: 5.5.0 (a)
; Installed Inno Setup Version: 5.5.0 (a)
 
; Date: June 14, 2012
 
; Local Machine Settings. Use these settings as a template for your installation folders
 
; {app}           : C:\Program Files\Randem Systems\InnoScript
; {appdata}       : C:\Documents and Settings\Andrianto L. Widodo\Application Data\Randem Systems\InnoScript\
; {localappdata}  : C:\Documents and Settings\Andrianto L. Widodo\Local Settings\Application Data\Randem Systems\InnoScript\
; {cf}            : C:\Program Files\Common Files\Randem Systems
; {tmp}           : C:\Documents and Settings\Andrianto L. Widodo\Local Settings\Temp\
; {commonappdata} : C:\Documents and Settings\All Users.WINDOWS\Application Data\Randem Systems\InnoScript\Release\
; {pf}            : C:\Program Files\
 
;              VB Runtime Files Folder:   C:\Program Files\Randem Systems\InnoScript\InnoScript 11\VB 6 Redist Files\
;     Visual Basic Project File (.vbp):   D:\Project VB\SegerAgro\PrSegerAgroNusantara.vbp
; Inno Setup Script Output File (.iss):   D:\Project VB\SegerAgro\Scripts\PrSegerAgroNusantara 1.0.0.iss
;:   D:\Project VB\SegerAgro\Scripts\Templates\SegerAgro.tpl
;:   C:\Documents and Settings\Andrianto L. Widodo\Local Settings\Application Data\Randem Systems\InnoScript\Release\Templates\AutoOSUpdater.tpl
;:   C:\Documents and Settings\Andrianto L. Widodo\Local Settings\Application Data\Randem Systems\InnoScript\Release\Templates\VCRuntime.tpl
;:   C:\Documents and Settings\Andrianto L. Widodo\Local Settings\Application Data\Randem Systems\InnoScript\Release\Templates\Crystal Reports.tpl
 
; ------------------------
;        References
; ------------------------
 
; OLE Automation - (stdole2.tlb)
; Microsoft ActiveX Data Objects 2.7 Library - (msado27.tlb)
; Crystal Reports ActiveX Designer Design and Runtime Library 11.5 - (craxddrt.dll)
; Crystal Reports ActiveX Designer Library 11.5 - (craxdui.dll)
; Microsoft Data Binding Collection VB 6.0 (SP4) - (MSBIND.DLL)
 
 
; --------------------------
;        Components
; --------------------------
 
; Data Dynamics ActiveBar 2.0 - (Actbar2.ocx)
; ActiveSplash 1.0 Type Library - (actsplash.ocx)
; Crystal ActiveX Report Viewer Library 11.5 - (CRViewer.dll)
; ComponentOne True DBDate 8.0 - (tidate8.ocx)
; ComponentOne True DBNumber 8.0 - (tinumb8.ocx)
; ComponentOne True DBMask 8.0 - (timask8.ocx)
; FindButton by Bibin - (FindButton.ocx)
; Microsoft Common Dialog Control 6.0 (SP6) - (comdlg32.ocx)
; Microsoft Windows Common Controls 6.0 (SP6) - (MSCOMCTL.OCX)
; ComponentOne True DBGrid Pro 8.0 (OLEDB) - (todg8.ocx)
; ComponentOne True DBList Pro 8.0 (OLEDB) - (todl8.ocx)
 
 
[Setup]
SetupLogging=Yes
AppId=SIB 1.0
 
;------------------------------------------------------------------------------------------------------------------------
; Taken from VBP/VBG Project File Parameters AppName, AppName AppVersion and Company
;------------------------------------------------------------------------------------------------------------------------
 
AppName=SIB 1.0 1.0.0
AppVerName=SIB 1.0
AppPublisher=PT. Seger Agro Nusantara
 
;------------------------------------------------------------------------------------------------------------------------
 
AppVersion=1.0.0
VersionInfoVersion=1.0.0
AllowNoIcons=yes
DefaultGroupName=SIB 1.0\  
DefaultDirName={pf}\SIB 1.0  
AppCopyright=2012
PrivilegesRequired=None
MinVersion=0,5.01
OnlyBelowVersion=0,7.0
Compression=lzma
OutputBaseFilename=SIB0100000
 
[Tasks]
Name: Desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: AutoOSUpdater; Description: Install Database Support Updater; GroupDescription: Database Support:
Name: VCRuntime2008; Description: Install VC   2008 Runtimes SP1; GroupDescription: VC Runtimes:
Name: ScriptingRuntime; Description: Install Microsoft's Scripting Runtime; GroupDescription: Install Scripting Runtime:
Name: CRInstallation; Description: Install Crystal Reports Runtime Files; GroupDescription: Install CR Runtime Files:
 
[Files]
Source: D:\Project VB\SegerAgro\Scripts\VB_VC_DCOM_MDAC_JET_AutoSetup.exe; DestDir: {tmp}; Flags:  deleteafterinstall ignoreversion nocompression; AfterInstall: InstallAutoOSUpdater('{tmp}\VB_VC_DCOM_MDAC_JET_AutoSetup.exe','/NORESTART /VERYSILENT'); Tasks: AutoOSUpdater;
Source: D:\Project VB\SegerAgro\Scripts\vcredist_x86_2008_SP1.exe; DestDir: {tmp}; Flags:  deleteafterinstall ignoreversion nocompression; AfterInstall: InstallVCRuntime('{tmp}\vcredist_x86_2008_SP1.exe','/q /l{sd}\vcredist_x86_2008_SP1.exe.txt'); Tasks: VCRuntime2008;
Source: D:\Project VB\SegerAgro\Report\*.*; DestDir: {app}\Report\; Flags:  
Source: C:\WINDOWS\system32\stdole2.tlb; DestDir: {sys}; Flags:  regtypelib restartreplace uninsneveruninstall;  
Source: C:\Program Files\Common Files\Data Dynamics\ActiveBar2\Actbar2.ocx; DestDir: {cf}\Data Dynamics\ActiveBar2\; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\actsplash.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\tidate8.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\CRXI_5_RDC_Redistribution.msi; DestDir: {tmp}; Flags:  deleteafterinstall ignoreversion nocompression; Tasks: CRInstallation
Source: D:\Project VB\SegerAgro\Scripts\tinumb8.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\timask8.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\FindButton.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\comdlg32.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: C:\WINDOWS\Installer\$PatchCache$\Managed\00002109030000000000000000F01FEC\12.0.4518\MSCOMCTL.OCX; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\todg8.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\Scripts\todl8.ocx; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
Source: D:\Project VB\SegerAgro\SIB.exe; DestDir: {app}; Flags:  ignoreversion restartreplace;  
Source: D:\Project VB\SegerAgro\Scripts\scripten.exe; DestDir: {tmp}; Flags:  deleteafterinstall ignoreversion nocompression; MinVersion: 0,5.0; OnlyBelowVersion: 0,5.02; Tasks: ScriptingRuntime
Source: D:\Project VB\SegerAgro\toolbar.tb2; DestDir: {app}; Flags:  ignoreversion;  
Source: D:\Project VB\SegerAgro\Background.jpg; DestDir: {app}; Flags:  ignoreversion;  
Source: D:\Project VB\SegerAgro\Config.lic; DestDir: {app}; Flags:  ignoreversion;  
Source: D:\Project VB\SegerAgro\sgr.spl; DestDir: {app}; Flags:  ignoreversion;  
Source: C:\Program Files\Randem Systems\InnoScript\InnoScript 11\VB 5 Redist Files\OLEAUT32.dll; DestDir: {sys}; Flags:  restartreplace sharedfile;  
Source: C:\Program Files\Randem Systems\InnoScript\InnoScript 11\VB 5 Redist Files\OLEPRO32.DLL; DestDir: {sys}; Flags:  regserver restartreplace sharedfile;  
 
[INI]
 
[Icons]
Name: {group}\PrSegerAgroNusantara ; Filename : {app}\SIB.exe; WorkingDir: {app};
Name: {group}{cm:UninstallProgram, PrSegerAgroNusantara }; Filename: {uninstallexe};
Name: {commondesktop}\PrSegerAgroNusantara ; Filename: {app}\SIB.exe; Tasks: Desktopicon ; WorkingDir: {app};
 
[Run]
Filename: {tmp}\scripten.exe; Parameters: /quiet /passive; MinVersion: 0,5.0; OnlyBelowVersion: 0,5.02; WorkingDir: {tmp}; Flags: skipifdoesntexist runascurrentuser; Tasks: ScriptingRuntime; StatusMsg: Installing Scripting Runtime;
Filename: msiexec.exe; Parameters: /package CRXI_5_RDC_Redistribution.msi /passive /promptrestart /l* {sd}\CRXI_5_RDC_Redistribution.msi.txt; WorkingDir: {tmp}; Flags: skipifdoesntexist runascurrentuser; Tasks: CRInstallation; StatusMsg: Installing Crystal Reports Runtimes;
; Register the Crystal Reports Merge Module components that need to be registered in place where the Merge Modules installed them
Filename: regsvr32.exe; Parameters: /s {code:GetCLSIDFldr|!F62B9FA4-455F-4FE3-8A2D-205E4F0BCAFB@\11.5.9.1265}{code:LogFileName|crviewer.dll}; WorkingDir: {code:GetCLSIDFldr|!F62B9FA4-455F-4FE3-8A2D-205E4F0BCAFB@\11.5.9.1265}\; StatusMsg: Registering Crystal ActiveX Report Viewer Library 11.5; Tasks: CRInstallation; Flags: runascurrentuser
Filename: regsvr32.exe; Parameters: /s {code:GetCLSIDFldr|!4FB2D832-C996-4EB1-BE0D-4DE953CF25F0@\11.5.9.1265}{code:LogFileName|craxddrt.dll}; WorkingDir: {code:GetCLSIDFldr|!4FB2D832-C996-4EB1-BE0D-4DE953CF25F0@\11.5.9.1265}\; StatusMsg: Registering Crystal Reports ActiveX Designer Design and Runtime Library 11.5; Tasks: CRInstallation; Flags: runascurrentuser
Filename: regsvr32.exe; Parameters: /s {code:GetCLSIDFldr|!BD4B4E53-F7B8-11D0-964D-00A0C9273C2A@\11.5.0.313}{code:LogFileName|craxdui.dll}; WorkingDir: {code:GetCLSIDFldr|!BD4B4E53-F7B8-11D0-964D-00A0C9273C2A@\11.5.0.313}\; StatusMsg: Registering Crystal Reports ActiveX Designer Library 11.5; Tasks: CRInstallation; Flags: runascurrentuser
Filename: {src}\Support\mysql-5.5.24-win32.msi; Parameters: /passive; Flags: skipifdoesntexist; Tasks: mySQLDatabase; WorkingDir: {tmp}
Filename: {app}\SIB.exe; Description: {cm:LaunchProgram, PrSegerAgroNusantara }; Flags: nowait postinstall skipifsilent runascurrentuser; WorkingDir: {app}
 
[UninstallDelete]
Type: dirifempty; Name: {app}
 
 
[InstallDelete]
Type: files; Name: {app}\Install.log;
 
[Code]
//=============================================================
// Install the Automatic OS Updater
//=============================================================
Procedure InstallAutoOSUpdater(Filename: String; Param: String);
var
  ErrorCode: Integer;
  begin
     ShellExec('', ExpandConstant(Filename), ExpandConstant(Param), '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
  end;
//===================================================================
// Install VC   Runtime files
//===================================================================
Procedure InstallVCRuntime(Filename: String; Param: String);
var
  ErrorCode: Integer;
  begin
     ShellExec('', ExpandConstant(Filename), ExpandConstant(Param), '', SW_SHOW, ewWaitUntilTerminated, ErrorCode);
  end;
 
//========================================================================================================================
// Get the CLSID from the registry for the queried file to locate where this file was installed by the CR merge module
// We do this so that we know where to register the file after installation.
//========================================================================================================================
 
function GetCLSIDFldr(Param: String): String;
var
  Location: String;
  CSLID: String;
  LogFile: String;
  sStr: String;
begin
  CSLID := Param;
  StringChangeEx(CSLID, '!', '{', True);
  StringChangeEx(CSLID, '@', '}', True);
 
  LogFile := ExpandConstant('{app}')   '\Install.log';
  SaveStringToFile(LogFile, #13#10   CSLID   #13#10, True);
 
  if not RegQueryStringValue(HKEY_CLASSES_ROOT, 'TypeLib\'   CSLID   '\0\win32','', Location) then
     Result := 'Not Registered !!!'   #13#10   'Possible Wrong Crystal Reports Version Installed on Source Machine or '   #13#10   'Wrong CRystal Reports Merge Module Installed on Target Machine'   #13#10;
     
  begin
    Location := ExpandConstant(Location)
    sStr := #13#10   Location   #13#10   StringOfChar('*',70)   #13#10
    SaveStringToFile(LogFile, sStr, True);
    Result := ExtractFileDir(Location);
  end;
end;
 
//=============================================================
// Log the filename process to a log file  
//=============================================================
 
function LogFileName(Filename: String): String;
var
  LogFile: String;
  sSTr: String;
begin
  LogFile := ExpandConstant('{app}')   '\Install.log';
  sStr := #13#10   'Registering '   Filename   #13#10;
  SaveStringToFile(LogFile, sStr, True);
  Result := Filename;
end;
 
//============================================================================

Randem

I cannot tell what the error is by looking at only part of the script (especially since that is not where the error starts). That would be like looking at the tires on a car to determine why the engine will not start...
 
We need to see the whole script... Please post the complete script

bibin98

Yes I have opened Help-Documentation but still have this problems....  
 

Randem

Many of your questions (with examples) can be answered in the documentation (Help->Documentation).
 
You can create anything that you want. A pre-installer is simply another installer that you run first before you main installer. It does not differ much from the main installer except it runs the main installer.

bibin98

Hello.... any advice to my question? I try input mySQL installer in External Installs but it error cause GroupDescription must be fill and I already fill it with mySQL Database but still have error.
 
Or I have to install it manually?
 
Thanks.

bibin98

Dear randem,
 
Is Innoscript able to create preinstaller?
Here is the problem I want to create installer:
1. mySQL install first
2. automatically create database by execute SQL script
3. automatically install my software
 
Any simple tutorial how can I do this using InnoScript 11.1.17? Many thanks.