|
I just changed line 114 in products.iss to read: function PrepareToInstall(var NeedsRestart: Boolean): String;
Let me know if this is the wrong fix, I'm new to all this.
|
|
|
|
|
|
Same error too. I´m using Inno Setup 5.3.10 and IS Tool 5.3.0.1
Any solution ??? Plz i rly need this script.
|
|
|
|
|
This function declaration has changed in newer inno setup versions. It's declaration is now:
function PrepareToInstall(var NeedsRestart: Boolean): String;
See the inno help file for more information.
|
|
|
|
|
I confirm that this fixes the error.
|
|
|
|
|
Hi!
This is the best and easiest to use solution I found on the net to install dependencies...
However, at least for completeness, it would be nice if other often used runimes would be added too.
(despite it would be easy to implement ourselves using the existing examples, except for the hassle to find the newest version at MS)
Of course in case of MSVC I might compile static to avoid having to run the MSVC++ installer, except if you include a third party binary dll or executable which requires these (not recommended by MS).
To check the existence of the runtime some recommend just to try to load the main DLL of the runtime in a try ... catch block.
With MSVC 6 one could still include the needed DLLs (and there is an example on the inno setup homepage),
but with managed code etc. in newer versions the only option seems to be to run the msvc_redist installer to install the runtime correctly.
Regards, Rune B.
P.S. how stable are the cryptic links at MS? Will they continue to exist?
Would it be an option to skip downloading if the download already lies next to the installer of the app?
If giving the app to someone on a share or media one could put the required runtimes right next to it.
(like the open source impementation "The Ur-Quan Masters" installer of "Star Control II" does for it's addons,
this would give the user the advantage of the silent install even if not havining the app's installer do the download itself.)
|
|
|
|
|
Hi,
I set the DependenciesDir to "Resources".
the installer is located here:
D:\install\setup.exe
I was expecting that the installer will look in D:\install\Resources\ for needed dependencies.
I don't want them to be downloaded.
For example I am trying to install .NET 3.5 and .NET 3.5 SP1.
According to dotnetfx35.iss and dotnetfx35sp1.iss the installer should look for dotnetfx35.exe and dotnetfx35sp1.exe in the DependenciesDir.
I don't know what is wrong but it keeps trying to download these files.
Any advice?
Other than that, I really like your work! Makes things easier a lot. Thanks for that!
Best
Ronny
|
|
|
|
|
Hi!
Just now.I did it.
(but try dotnetfx20.exe)
products.iss
<pre>#include "isxdl\isxdl.iss"
[CustomMessages]
;DependenciesDir=MyProgramDependencies
DependenciesDir=.\
</pre>
It change dafault("MyProgramDependencies") to ".\" ,same folder ok.
So, I think you change
DependenciesDir=Resources
and set
d:\install\Resources\dotnetfx35.exe and dotnetfx35sp1.exe
Regards
Yamada (from Japan)
|
|
|
|
|
Hi,
I saw code to create setup for 32 bit and 64 bit machine.
All things are same except source file name.
My question is :
If I have same exe to run on 32 and 64 bit machine and I want to create one setup, Shell i have to build in "ArchitecturesInstallIn64BitMode=x64 ia64".
|
|
|
|
|
Hi, does anybody have any suggestion for downloading Windows Installer 4.5 ?
Thanks
Petr
|
|
|
|
|
I have downloaded Windows2000-KB835732-x86-CHS.exe. This commandline parameters for this app are now using:
/quit
/passive
/norestart
etc.
So, I changed those in kb835732.iss from
'/q:a /c:"install /q"'
to
'/passive /norestart'.
However, the function of
Exec(products[i].File, products[i].Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
in products.iss always got failed. That ResultCode didn't equate to 0.
The installation for dotnetfx20 is OK.
Thanks for any help.
|
|
|
|
|
Hi!
I had same case.Its my way.....
So, I changed kb835732.iss
'/q:a /c:"install /q"'
to
''
I found message and understood.
Windows2000-KB835732-x86-ENU.EXE can't use(Windows 2000 Japanese Edition) .Have to use Windows2000-KB835732-x86-JPN.EXE
If korean use, same problem...(May be use -KOR.EXE)
Then.....
I use dotnetfx20(not SP1).
I'm ok, because windows update automatically change SP1.
Regareds
Yamada
|
|
|
|
|
i downloaded the zip folder and i changed the files part with this part according to my need:
[Files]
Source: "C:\Users\Gautam\Documents\Visual Studio 2005\Projects\Final_Etech(Submit)\Final_Etech\bin\Debug\Final_Etech.exe"; DestDir: "{app}";
Source: "E:\Softy\DOT_NET\.NETFramework_2.0_Installer\dotnetfx.exe"; DestDir: "{app}";
Source: "C:\Users\Gautam\Documents\Visual Studio 2005\Projects\Final_Etech(Submit)\Final_Etech\bin\Debug\Etech.mdb"; DestDir: "{app}";
Source: "C:\Users\Gautam\Documents\Visual Studio 2005\Projects\Final_Etech(Submit)\Final_Etech\bin\Debug\AdminLogin.mdb"; DestDir: "{app}";
Source: "d:\Readme.txt"; DestDir: "{app}"; Flags: isreadme
also in some places i have to change the name of the .exe file........
but doing this is causing me problems with the .mdb file........
what should i do to the ,mdb file then?
please help
thank you
|
|
|
|
|
Hi,
Great code guy
i've added French support, Deutch x64 support for one patch.
i've changed some code in KB835732 to support English/Deutch/French and its arguments which wasn't correct
how can i submit it to you ?
----------------------------------------------
Under win2k Pro, it seems that multiple patch works bad (SP4 + patches without .NET):
- All is downloaded without any problem
- KB835732 has been installed but we have an error message at the end (so 3 patches are tagged as not deployed). But this patch appear in Add/removeprograms
So : I've checked in %WINDIR% : \$NtUninstallKB835732$ is present so patch is installed and ok.
- I launch setup again. Only .NET 2.0SP1 & language pack appear.
- Install failed again.
- I launch setup again. Only Language pack appear
- install OK, program OK.
I'm using 2.0 SP1 because 2.0SP2 is not compatible with Win2K.
Any idea ?
|
|
|
|
|
i've checked with WinXP Pro SP3 Fr. No problem, all is ok.
i've checked with Vista Pro SP2 Fr. Small problem, .NET2.0 don't exist so I think I must change setup to download .NET3.5 for Vista & 7
Here's the code :
if minwinversion(6, 0) then begin
dotnetfx35sp1();
dotnetfx35sp1lp();
end else begin
if minwinversion(5, 1) then begin
dotnetfx20sp2();
dotnetfx20sp2lp();
end else begin
if minwinversion(5, 0) and minwinspversion(5, 0, 4) then begin
kb835732();
dotnetfx20sp1();
dotnetfx20sp1lp();
end else begin
dotnetfx20();
dotnetfx20lp();
end;
end;
end;
But same problem as Win 2K Pro : .NET 3.5 failed but is installed. 2nd install will deploy Language pack.
modified on Friday, January 15, 2010 6:57 AM
|
|
|
|
|
Dear stfx,
your article really rules!!!
I found a problem in isxdl.dll on win98:
-version 5.3.0 fails to be loaded
-version 5.1.5 is loaded successfully
So, when you write the requirements, i.e.
"Applications used for the script are:
* Inno Setup - setup engine (version 5.3.4)
* ISTool - extends Inno Setup but I just needed the isxdl.dll downloader (version 5.3.0)"
I think you should decide if support w98 or use ISTool 5.3.0
... this, of course, is valid if you have my same problem too ...
I tried to get in touch with the ISTool developer w/o success ...
Regards,
Ace
|
|
|
|
|
Thank you good information.I save time.
Additonally....
isxdl.dll
Version 5.1.5
Windows98SE/2000 download speed and file xx of xx did't display.
(I think asian font problem)
Windows XP japanese / XP english edition is ok.
Version 5.3.0
Windows2000 can display speed and file xx% of xx%.
(but win98 didn't work)
Thank you.
Yamada
|
|
|
|
|
I added a language pack chinese.ini to isxdl\chinese.ini, and I tried use Unicode, local chinese encoding, both are NOT working. the download page cannot display the chinese at all. I have no idea.
I'm on an English XP, and I installed "Asian Language Files" via "Control Panel".
My InnoSetup is unicode version.
I don't know why. Can you tell me how you made your language file?
Thanks. Arigatou gozaimasu.
Peter
|
|
|
|
|
You save me lots of hours. Dealing with MS Setup and program data on W7 I recall Inno setup I used years ago...
Finished installation after 30 minutes even with MySQL and .NET35 prerequisity...
Gold medal for you...
|
|
|
|
|
Hi guys,
I've noted that the version comparison in some cases does not work correctly, for example when installing on an pc the msi 3.1 cannot install because the version installed on it is greatter then the check but the check is returning that it's not.
Looking at the code, the comparison is just between strings ... so I think its better to improve this comparison to not fail ...
procedure msi31(MinVersion: string);
begin
// Check for required Windows Installer 3.0 on Windows 2000 or higher
if minwinversion(5, 0) and (fileversion(ExpandConstant('{sys}{\}msi.dll')) < MinVersion) then
AddProduct('msi31.exe',
'/qb /norestart',
CustomMessage('msi31_title'),
CustomMessage('msi31_size'),
msi31_url);
end;
I've improved to this one that gets the msi dll location from registry, but the comparison stills the same ... any tips on comparing versions ?
procedure msi31(MinVersion: string);
var
sMSIDll: string;
begin
// Check for required Windows Installer 3.0 on Windows 2000 or higher
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Installer',
'InstallerLocation', sMSIDll) then
sMSIDll := sMSIDll + 'msi.dll' else
sMSIDll := ExpandConstant('{sys}{\}')+'msi.dll';
if minwinversion(5, 0) and (fileversion(sMSIDll) < MinVersion) then
AddProduct('msi31.exe',
'/quiet /norestart',
CustomMessage('msi31_title'),
CustomMessage('msi31_size'),
msi31_url);
end;
|
|
|
|
|
Message Closed
modified 23-Dec-20 12:41pm.
|
|
|
|
|
Hi!
Some examples for wrong results with String compare:
11.50 < 9.40
3.10.5 < 3.3.5
7.2104 < 7.888
10.00.TC11 < 10.00.TC9
-> string comppare may always fail when the number of digits of each part is not fixed
This is also a reason that a lot of version aware applications fail when the underlying database reaches version 10
Regards,
runeb
|
|
|
|
|
Your last recent version tries to install kb835732 on Windows XP, i think that is wrong.
I noticed that you removed the check for
exactwinversion(5, 0)
from the checks in kb835732.iss.
You should re-add that check.
Nice work!!!
|
|
|
|
|
Dear stfx,
I have read through your article and used your scripts to provide the installation of the .Net Framework 3.5 sp1 in my installer if it is not present on the user's computer.
On a new Vista Home Premium machine, everything runs fine until after the .Net Framework is downloaded and goes through the process of installing the files. It comes up with an error page (in my installer) stating that an error has occured while trying to install the framework.
However, the strange thing is that after exiting the installer, under Add/Remove programs, the .Net Framework 3.5 sp1 is listed there as being installed. And, when I run the installer again it installs my program (without downloading the framework this time), which runs correctly.
So this leads me to believe that the Framework is being installed, only for some reason an error message is appearing stating the opposite. Could you kindly advise me on this issue?
Regards,
Anthony
P.S. Below is an extract from my InitializeSetup() function that deals with the prerequisites. Just to make sure that nothing is wrong in there. Also I am using the latest version of your code.
initwinversion();
if not minwinspversion(5, 0, 3) then begin
MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [CustomMessage('win2000sp3_title')]), mbError, MB_OK);
exit;
end;
if not minwinspversion(5, 1, 2) then begin
MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [CustomMessage('winxpsp2_title')]), mbError, MB_OK);
exit;
end;
msi31('3.1');
dotnetfx35sp1();
dotnetfx35sp1lp();
Result := true;
Check out my desktop conversion software for Windows -
www.universalconverter.net
|
|
|
|
|
Message Closed
modified 23-Dec-20 12:41pm.
|
|
|
|