|
| Customizing Deployment for XP and Vista |
 |
Thu, 13 Mar 2008 12:53:11 -070 |
I'm setting up a single INNO script to deploy on Windows XP and Vista.
I've included manifest files and have seen on the newsgroups that the XP
installation will ignore them if it doesn't need them.
My problem is the color scheme for the buttons.
When I install onto an XP the colorNormal property is ignored. The buttons
have no color.
To fix this, can I delete the manifest files at installation to force the XP
system to use colorNormal property?
I really like the looks of Vista buttons but can't get them to look the same
on an XP.
Any help would be appreciated.
Ted
|
| Post Reply
|
| Re: Customizing Deployment for XP and Vista |
 |
Thu, 13 Mar 2008 23:03:25 -040 |
In article <NCCkhaUhIHA.632@news-server>, tedfanderson@gmail.com says...
> I'm setting up a single INNO script to deploy on Windows XP and Vista.
> I've included manifest files and have seen on the newsgroups that the XP
> installation will ignore them if it doesn't need them.
>
> My problem is the color scheme for the buttons.
> When I install onto an XP the colorNormal property is ignored. The buttons
> have no color.
>
> To fix this, can I delete the manifest files at installation to force the
XP
> system to use colorNormal property?
> I really like the looks of Vista buttons but can't get them to look the
same
> on an XP.
>
> Any help would be appreciated.
> Ted
>
>
Ted,
What you are seeing is the manifest file directing the OS to use the
"System Theme" on your buttons. You have a few options with this:
(1) Live with it. <g>
(2) Edit the manifest file and remove the section with concerns the
System Theme but leave the part that concerns security. If you have only
one deploy this has the disadvantage of killing the Vista buttons you
like (I think - you would have to test as I don't have Vista).
(3) You could deploy as you do now, but keep a copy of the special
manifest file described in point #2 *inside* yourApp.exe. If you detect
the application is on a XP PC (using the OS() function) you can copy the
file out and replace the default manifest file.
(4) You could have two different Inno Setups.
(5) You could have an option in the one Inno Setup to choose what
components to install. I don't know Inno Setup well enough to do it, but
I understand it can be done.
--
Geoff Wass [dBVIPS]
Montréal, Québec, Canada
.|.|.| dBASE info at http://geocities.com/geoff_wass |.|.|.
.|.|.| ---------------------------------------------------------- |.|.|.
|
| Post Reply
|
| Re: Customizing Deployment for XP and Vista |
 |
Fri, 14 Mar 2008 10:43:50 -070 |
Hi Geoff,
Thank you for the feedback.
I'm going to look into all of these options.
Since I already have an INNO script for XP created, I'll probably just make
separate installations available for each.
I thought I read some where that the XP service pack 2 implemented a color
theme similar to Vista but I can't re-find it to check for sure.
If that is the case, is there a way to check whether the service pack 2 was
installed and replace the default manifest file from *inside* App.exe?
Thanks again for your help.
As a side note...I don't know where we all would be if it were not for you
and some others that offer such excellent help.
It would be nice if there was an account set up that people taking advantage
of these newsgroups could donate too, for those of you that help so much.
Ted
"Geoff Wass [dBVIPS]" <gswassREMOVE_ME@attglobal.net> wrote in
message
news:MPG.2243b50b9f070903989fcd@news.dbase.com...
> In article <NCCkhaUhIHA.632@news-server>, tedfanderson@gmail.com
says...
>> I'm setting up a single INNO script to deploy on Windows XP and Vista.
>> I've included manifest files and have seen on the newsgroups that the
XP
>> installation will ignore them if it doesn't need them.
>>
>> My problem is the color scheme for the buttons.
>> When I install onto an XP the colorNormal property is ignored. The
>> buttons
>> have no color.
>>
>> To fix this, can I delete the manifest files at installation to force
the
>> XP
>> system to use colorNormal property?
>> I really like the looks of Vista buttons but can't get them to look the
>> same
>> on an XP.
>>
>> Any help would be appreciated.
>> Ted
>>
>>
>
> Ted,
>
> What you are seeing is the manifest file directing the OS to use the
> "System Theme" on your buttons. You have a few options with
this:
>
> (1) Live with it. <g>
>
> (2) Edit the manifest file and remove the section with concerns the
> System Theme but leave the part that concerns security. If you have only
> one deploy this has the disadvantage of killing the Vista buttons you
> like (I think - you would have to test as I don't have Vista).
>
> (3) You could deploy as you do now, but keep a copy of the special
> manifest file described in point #2 *inside* yourApp.exe. If you detect
> the application is on a XP PC (using the OS() function) you can copy the
> file out and replace the default manifest file.
>
> (4) You could have two different Inno Setups.
>
> (5) You could have an option in the one Inno Setup to choose what
> components to install. I don't know Inno Setup well enough to do it, but
> I understand it can be done.
>
>
> --
> Geoff Wass [dBVIPS]
> Montréal, Québec, Canada
>
> .|.|.| dBASE info at http://geocities.com/geoff_wass |.|.|.
> .|.|.| ---------------------------------------------------------- |.|.|.
> .|.|.| IT Consultant http://Geoff_Wass.com |.|.|.
|
| Post Reply
|
| Re: Customizing Deployment for XP and Vista |
 |
Fri, 14 Mar 2008 15:39:43 -050 |
[_TopOfScript]
; This is a Innoscript generate with ScriptMaker version 5.1.0.1
[_Project]
ProjectAccessDate=11/27/2007 12:01:19 PM
;
ProjectNr=4.1.2.17
ProjectName=GrataSoft Tip & Gratuity Management
ProjectExeFileName=C:\Program Files\dBASE\PLUS\Samples\TIP\TipTrack.exe
ProjectMainFileName=C:\Program Files\Inno Setup 5\Examples\GrataSoft.iss
ProjectAuthor=
ProjectCreateDate=11/27/2007
ProjectdBaseVersion=dBASE PLUS 2.613 b1811
ProjectLastdBaseRuntimeVersion=
ProjectLastdBaseRuntimeLanguage=
ProjectdBasePRJFilename=C:\Program Files\dBASE\PLUS\Samples\TIP\tip.prj
[_ISPP]
#Pragma Option -v+
#Pragma VerboseLevel 9 ;Macro and functions successfull call acknowledgements
#Pragma SpanSymbol "\"
#define AppVersion "4.1"
#define AppID "GrataSoft Tip & Gratuity Management"
#define AppCopyright "2007"
[dBASERuntime]
#define SM_dBASERuntime "false"
[_EndOfScript]
; © HiSoft2000 http://www.Hisoft2000.de Mail: HiSoft2000@HiSoft2000.de ©
2002-2004
; Visual dBase, dB2K, dBase SE and dBase Plus © dataBased Intelligence.Inc
Homepage: http://www.databi.com/
; dQuery for Delphi,C++,dBASE PLUS © dataBased Intelligence.Inc see also
Homepage: http://www.dQuery.com/
[Setup]
; If left at the default, this will show the components
; to be installed to the user, which could confuse them.
AlwaysShowComponentsList=false
; Used in the uninstall log:
AppID=GrataSoft Tip & Gratuity Management
; Required - used to display the name of the application
; in several locations throughout the install.
AppName=GrataSoft Tip & Gratuity Management
; These three are optional, but are displayed in the
; Windows 2000/XP/2003 (Vista?) Add/Remove Program
; applet ...
AppPublisher=GrataSoft Solutions
AppPublisherURL=http://www.grastasoft.com/
AppVersion=4.1
; Required: Should be the same text as AppName but include version
; number ...
AppVerName=GrataSoft Tip & Gratuity Management version 4.1
; Required: displays default install location. The
; constant is the system drive.
DefaultDirName=\GrataSoft
; This is where the install wants to go by default
;
; Name of the group in the Programs menu of Windows.
DefaultGroupName=GrataSoft Solutions
; Defaults to "auto", if the folder installing to already
; exists, it asks if the Installer should overwrite the folder.
DirExistsWarning=auto
; Disables the question about "This will install ...
; Do you want to continue?"
DisableStartupPrompt=true
; Used on XP or Vista for installation rights.
; Where is the default source for the application?
; This information is used in the FILES section below.
SourceDir=C:\Program Files\dBASE\PLUS\Samples\TIP
; Output directory -- where the install program
; gets created (this will be "under" the source, i.e,
; C:\MyAppSource\InstallImage):
OutputDir=InstallImage
; Name of program to run (name of installer program)
OutputBaseFilename=Grata_Setup
; Appearance of the Installer:
SetupIconFile=compiler:Examples\Setup.ico
WizardImageBackColor=clGreen
WizardImageFile=compiler:wizmodernimage-is.bmp
WizardImageStretch=false
AppCopyright=Copyright 2006-2008 GrataSoft Solutions
EnableDirDoesntExistWarning=false
LicenseFile=C:\Documents and Settings\johnm\My
Documents\Corporate\GrataSoft\Software License no 3rd party.rtf
WizardSmallImageFile=compiler:wizmodernsmallimage-is.bmp
UserInfoPage=true
UsePreviousUserInfo=true
;
--------------------------------------------------------------------------------
---------------------
DisableDirPage=false
AllowRootDirectory=false
AllowUNCPath=false
;
; Define the three use choise types:
[Types]
Name: Network; Description: Network Install -- Data and program files to network
drive or Main machine
Name: Workstation; Description: Workstation Install -- for local workstation,
installs Invoice program and needed files
Name: Upgrade; Description: "Program File Upgrade -- installs latest
versions of all program files "
;
--------------------------------------------------------------------------------
---------------------
; Components go with the types:
[Components]
Name: Net; Types: Network; Description: Network Server Install
Name: WS; Description: Workstation Install; Types: Workstation
Name: UP; Description: Update Program Files Only; Types: Upgrade
;
--------------------------------------------------------------------------------
---------------------
; Set up the directories on the network, the "Permissions"
; flags are for Vista, the 'FULL' is important for
; any folder that your application changes any files
; outside of the .exe (tables, .ini files, etc.):
[INI]
; Attempt to write/modify the INI file to specify DEO folders and def system
settings:
;
; Create DEO Paths in INI ...
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath2; String:
\program; Components: Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath1; String:
\Data; Components: Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath1; String:
{code:GetNetDir}\Data; Components: WS; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath2; String:
\program; Components: WS; Flags: createkeyifdoesntexist
;
;
;
--------------------------------------------------------------------------------
---------------------
; Set defaults for Ws & Server INI entries ...
Filename: \program\tip.ini; Section: POS; Key: Server; String: Y;
Components: Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: POS; Key: Server; String: N;
Components: WS; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: POS; Key: PollOnStart; String: N;
Components: WS Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: POS; Key: Current; String: N; Flags:
createkeyifdoesntexist; Components: Net
Filename: \program\tip.ini; Section: POS; Key: Allocation; String: N;
Flags: createkeyifdoesntexist; Components: Net WS
Filename: \program\tip.ini; Section: POS; Key: TRDA; String: N; Flags:
createkeyifdoesntexist; Components: Net WS
Filename: \program\tip.ini; Section: POS; Key: ATIP; String: N; Flags:
createkeyifdoesntexist; Components: Net WS
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath3; String:
\duflp; Components: WS Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath5; String:
\misc; Components: WS Net; Flags: createkeyifdoesntexist
Filename: \program\tip.ini; Section: ObjectPath; Key: objPath4; String:
\bin; Components: WS Net; Flags: createkeyifdoesntexist
[Dirs]
;
; Create Working folders
;
Name: \Program; Permissions: everyone-full; Components: " WS
Net"; Flags: uninsneveruninstall
Name: \Data; Flags: uninsneveruninstall; Components: " WS Net";
Permissions: everyone-full
Name: \duflp; Flags: uninsneveruninstall; Components: " WS Net";
Permissions: everyone-full
; Name: \dUFLP; Permissions: everyone-readexec; Components: Net
; Name: \Other; Permissions: everyone-readexec; Components: Net
; Name: \Images; Permissions: everyone-readexec; Components: Net
; Name: \Tables; Permissions: everyone-full; Components: Net
; Where to install the dBASE Plus Runtime and
; the BDE:
Name: \dBASE\Plus\Runtime; Permissions: everyone-full; Flags:
uninsneveruninstall
Name: \Borland Shared\BDE; Permissions: everyone-full; Flags:
uninsneveruninstall
;
--------------------------------------------------------------------------------
---------------------
Name: \bin; Flags: uninsneveruninstall; Permissions: everyone-full;
Components: WS Net
Name: \misc; Flags: uninsneveruninstall; Permissions: everyone-full;
Components: WS Net
Name: \Export; Permissions: everyone-full; Flags: uninsneveruninstall;
Components: WS Net
Name: \Import; Permissions: everyone-full; Flags: uninsneveruninstall;
Components: WS Net
[Files]
; Files to be installed.
; Network install:
; None of these files in the network install should be uninstalled if that
option is run --
; the Workstation application relies on these existing.
; Source: dUFLP\*.*; DestDir: \dUFLP; Components: Net; Flags:
ignoreversion uninsneveruninstall
; Source: Main\*.*; DestDir: \Main; Components: Net; Flags:
ignoreversion uninsneveruninstall
; Source: Other\*.*; DestDir: \Other; Components: Net; Flags:
ignoreversion uninsneveruninstall
; Source: Images\*.*; DestDir: \Images; Components: Net; Flags:
ignoreversion uninsneveruninstall
; Tables -- you don't want to overwrite them if they exist ... Also don't ever
uninstall ...
; Source: EmptyTablesForInstall\*.*; DestDir: \Tables; Components: Net;
Flags: onlyifdoesntexist uninsneveruninstall
;
; Needed for the ImportData routine, NET only:
; Source: ImportData.exe; DestDir: ; Components: Net; Flags:
ignoreversion
;
Source: G:\GrataSoft 4.1 Production\Tip.INI; DestDir: \program; Components:
Net WS; Flags: uninsneveruninstall onlyifdoesntexist
;
; Workstations:
; Source: MBIInvoice.exe; DestDir: ; Components: WS; Flags:
ignoreversion
; all machines:
; Source: GSPRES32.DLL; DestDir: ; Flags: ignoreversion
; dBASE Runtime Installer
Source: G:\GrataSoft 4.1 Production\Runtime\PlusRuntime-b2059_EN.exe; DestDir:
; Flags: ignoreversion deleteafterinstall; Components: WS Net
; this will be run to ensure permissions for the BDE ...
Source: G:\GrataSoft 4.1 Production\Runtime\setacl.exe; DestDir: ; Flags:
deleteafterinstall; MinVersion: 0,4.0.1381
; Manifest files required for Windows Vista:
Source: ..\..\..\..\dbaseRT\plusrun.exe.manifest; DestDir:
\dBASE\Plus\Runtime; Components: " WS Net"; Flags:
uninsneveruninstall onlyifdoesntexist; Permissions: everyone-readexec
Source: ..\..\..\..\dbaseRT\bdeadmin.exe.manifest; DestDir: \Borland
Shared\BDE; Components: " WS Net"; Flags: uninsneveruninstall
onlyifdoesntexist
Source: ..\..\..\..\dbaseRT\tiptrack.exe.manifest; DestDir: \program;
Components: " WS Net"; Flags: onlyifdoesntexist
;Source: C:\Program
Files\dBASE\PLUS\VistaManifest\Administrator\plusrun.exe.manifest; DestDir:
\dBASE\Plus\Runtime
;Source: C:\Program
Files\dBASE\PLUS\VistaManifest\Administrator\bdeadmin.exe.manifest; DestDir:
\Borland Shared\BDE
;
--------------------------------------------------------------------------------
---------------------
Source: G:\GrataSoft 4.1 Production\Empty Tables\*.*; DestDir: \data;
Components: Net; Flags: uninsneveruninstall onlyifdoesntexist
Source: G:\GrataSoft 4.1 Production\Programs\*.*; DestDir: \program;
Components: UP WS Net; Flags: ignoreversion
;
;Source: AddAlias.exe; DestDir: ; Components: up
;
Source: G:\GrataSoft 4.1 Production\Tip.exe; DestDir: \program; Components:
Net WS UP; Flags: ignoreversion
Source: G:\GrataSoft 4.1 Production\BDE\AddAlias.exe; DestDir: ;
Components: WS Net; Flags: onlyifdoesntexist
Source: G:\GrataSoft 4.1 Production\bin\*.*; DestDir: \bin; Components: UP
WS Net; Flags: ignoreversion
Source: G:\GrataSoft 4.1 Production\misc\*.*; DestDir: \misc; Components:
UP WS Net; Flags: ignoreversion restartreplace
[Icons]
Name: \GrataSoft Tip Management; Filename: \program\Tip.exe;
WorkingDir: \program; Components: WS Net
;Name: \Import Data; Filename: \ImportData.exe; WorkingDir: ;
Components: Net
; BDEAdmin ...
Name: \BDE Administrator; Filename: \Borland Shared\BDE\BDEAdmin.exe;
WorkingDir: \Borland Shared\BDE
; Desktop icons:
Name: \GrataSoft Tip Management; Filename: \program\Tip.exe;
WorkingDir: \program; Components: WS Net
;Name: \Import Data; Filename: \ImportData.exe; WorkingDir:
; Components: Net
;
--------------------------------------------------------------------------------
---------------------
; here's the important part -- we need to try to get the
; path to the files on the network here ...
; This code courtesy of Jonny Kwekkeboom
[Run]
; Silent install of runtime suppresses the runtime install display, and the
installshield stuff ...
; PlusRuntime-bNNNN_en.exe -s -a Runtime=d:\dBASEPLUS\Runtime
BDE=d:\dBASEPLUS\bde Silent -sr
; In order to get this to work properly, the double-quotes are doubled up in a
few places
; if you look at the statement ... that embeds a single double-quote (as it
were) in the
; parameters needed for the runtime and bde installs.
Filename: \PlusRuntime-b2059_EN.exe; Parameters: "-s -a
Runtime=""\dBASE\Plus\Runtime""
BDE=""\Borland Shared\BDE"" Silent -sr"; StatusMsg:
Installing dBASE Runtime and BDE...; WorkingDir: ; Components: WS Net
; setAcl is used to give users full access to the registry keys at
HKLM\SOFTWARE\Borland
Filename: \setacl.exe; Parameters: MACHINE\SOFTWARE\Borland /registry
/grant S-1-1-0 /set_val /sid; WorkingDir: ; Minversion: 0,4.0.1381;
Components: WS Net
;
--------------------------------------------------------------------------------
---------------------
;Filename: \AddAlias.exe; Parameters:
"""GrataSoft"" ""\data""
""DBASE"""; Components: " UP"
; Alias PRTIP
Filename: \AddAlias.exe; Parameters: """PRTIP""
""{code:GetNetDir}"" ""DBASE""";
Components: WS Net; WorkingDir:
;Filename: \AddAlias.exe; Parameters: """PRTIP""
""{CODE:GetLastDir}"" ""DBASE""";
Components: WS Net; WorkingDir:
Filename: \AddAlias.exe; Parameters: """TIP""
""{code:GetNetDir}"" ""DBASE""";
Components: WS Net; WorkingDir:
[Code]
var
NetDirPage: TInputDirWizardPage;
cNetDirDefault: String;
procedure InitializeWizard_NetDir;
var cTitle, cLabel, cDesc:String;
begin
{ Create the pages }
cNetDirDefault := '';
cTitle := 'Select GrataSoft Directory on Network Drive'
cLabel := 'Choose directory on the Network Drive where GrataSoft files are
installed.'
cDesc := 'Choose the folder on the network drive that has the subfolders
"Data", etc. - this is most likely "Y:\GrataSoft"'
NetDirPage := CreateInputDirPage( wpSelectDir, cTitle, cLabel, cDesc, False,
'' );
NetDirPage.add('');
NetDirPage.Values[0] := '';
end;
function GetNetDir( Param: String): String;
begin
Result := NetDirPage.Values[0];
end;
procedure CurPageChanged( CurPageID: Integer);
begin
Case CurPageID of
NetDirPage.ID: begin
NetDirPage.Values[0] := ExpandConstant( cNetDirDefault );
if NetDirPage.Values[0] = '' then
NetDirPage.Values[0] := ExpandConstant( cNetDirDefault );
end;
end;
#If 'true' == SM_dBASERuntime
if CurPageID=wpReady then
CalldBASERuntimeSetup;
#EndIf
end;
procedure InitializeWizard();
begin
InitializeWizard_NetDir;
end;
[_ISTool]
UseAbsolutePaths=true
|
| Post Reply
|
| Re: Customizing Deployment for XP and Vista |
 |
Fri, 14 Mar 2008 23:34:24 -040 |
In article <g1xg72fhIHA.2008@news-server>, tedfanderson@gmail.com
says...
> Hi Geoff,
> Thank you for the feedback.
>
> I'm going to look into all of these options.
>
> Since I already have an INNO script for XP created, I'll probably just make
> separate installations available for each.
>
> I thought I read some where that the XP service pack 2 implemented a color
> theme similar to Vista but I can't re-find it to check for sure.
> If that is the case, is there a way to check whether the service pack 2 was
> installed and replace the default manifest file from *inside* App.exe?
>
> Thanks again for your help.
>
> As a side note...I don't know where we all would be if it were not for you
> and some others that offer such excellent help.
> It would be nice if there was an account set up that people taking
advantage
> of these newsgroups could donate too, for those of you that help so much.
>
> Ted
Ted,
XP SP2 implemented manifest files only for the System Theme feature. It
ignores anything else that it is in the file that it doesn't understand
(like the security stuff which only Vista understands). There probably
is a way to detect SP2 but I don't know it. I only know OS() which can
differentiate between OSs but not SPs.
I forgot to mention you can look at the FILE.copy() method for an easy
way to copy a file inside your .EXE to the outside computer. The on-line
help describes it well.
As for you side note... it is a kind suggestion but not necessary. All
of us learn from the questions and answers posted here. I have had some
questions of my own that were answered recently and I have picked up
many snippets of code here and there over the years which I have filed
away for later use. In the current project I am working on, those
snippets and code from the dUFLP have helped me out at least a half
dozen times.
--
Geoff Wass [dBVIPS]
Montréal, Québec, Canada
.|.|.| dBASE info at http://geocities.com/geoff_wass |.|.|.
.|.|.| ---------------------------------------------------------- |.|.|.
|
| Post Reply
|
|
|