|
Message Closed
modified 23-Dec-20 12:43pm.
|
|
|
|
|
Erm, I couldn't locate the other WindowsVersion variable, so I decided to change the "WindowsVersion" variable in winversion.iss to "WindowsVersion2". Theoretically this should solve the problem, but yet when I compiled my script it said "Duplicate identifier WindowsVersion2". Very strange, because I'm 100% certain that I do not have other variables called WindowsVersion2.
Anthony
Check out my desktop conversion software for Windows -
www.universalconverter.net
|
|
|
|
|
Ahh, sorry my fault! I had included winversion.iss and fileversion.iss twice by mistake.
Sorry for the inconvenience, and thanks for your help.
Anthony.
Check out my desktop conversion software for Windows -
www.universalconverter.net
|
|
|
|
|
Are you going to create an implementation for such cases as
- connection is broken and try to restore it for x times
- parralel downloading to gain more high speed?
|
|
|
|
|
Hi stfx,
This script was a life-saver for me!
I wanted to thank you by offering you a free license of the software I wrote and deployed with this.
The software is a unique way of "Getting Things Done", called HabitShaper.
If you're interested, pm me!
Thanks again for sharing this!
Adriano
|
|
|
|
|
Hello
i want to use innosetup to install my window application with .net 2.0 framework.
but i am not able to use it.i have my application setup file named as "setup.exe" and "Flow Demo.msi"
my application dependencies onle .net framework 2.0
plz tell me hoe i use innosetup
Thanks in advanced
Raj
|
|
|
|
|
This is a great resource for fans of Inno Setup. Thanks for posting it.
I have created additional scripts for:
- Visual Studio Tools for Office (VSTO) 3.0 SP1
- Primary interop assemblies for Office 2007
which I require for an Excel AddIn. Is there any way to contribute these to the community?
Phil
|
|
|
|
|
Message Closed
modified 23-Dec-20 12:43pm.
|
|
|
|
|
I have made 4 additional scripts:
vsto30.iss - Visual Studio Tools for Office 3.0 runtime
Office2007PIA.iss - Primary Interop Assembly for Office 2007
vsto30sp1.iss - Visual Studio Tools for Office 3.0 runtime SP1
SqlCompact35.iss - Microsoft SQL Server Compact 3.5 SP1
Note:
These perform a quiet installation, which means that the license dialogs from Microsoft are skipped. If the end user does not have to accept the license conditions from Microsoft, you might be obliged to include them as part of your own license conditions. Just don't hold me responsible.
I don't see any way to attach a file to a posting, but the files are short, so here they come. Let me know if there is a better way to post files here.
vsto30.iss - Visual Studio Tools for Office 3.0 runtime
[CustomMessages]
vsto30_title=Visual Studio Tools for Office 3.0 runtime
en.vsto30_size=2 MB
de.vsto30_size=2 MB
[Run]
Filename: "{ini:{tmp}{\}dep.ini,install,vsto30}"; Description: "{cm:vsto30_title}"; StatusMsg: "{cm:depinstall_status,{cm:vsto30_title}}"; Parameters: "/q"; Flags: skipifdoesntexist
[Code]
const
vsto30_url = 'http://download.microsoft.com/download/c/9/3/c93c2e15-4f0d-4482-99a1-37d096a399a2/vstor30.exe';
procedure vsto30();
var
version: cardinal;
begin
RegQueryDWordValue(HKLM, 'Software\Microsoft\vsto runtime Setup\v9.0.21022', 'Install', version);
if IntToStr(version) <> '1' then
InstallPackage('vsto30', 'vstor30.exe', CustomMessage('vsto30_title'), CustomMessage('vsto30_size'), vsto30_url);
end;
Office2007PIA.iss - Primary Interop Assembly for Office 2007
[CustomMessages]
o2007Pia_title=Primary interop assembly for Office 2007
en.o2007Pia_size=7 MB
de.o2007Pia_size=7 MB
[Run]
Filename: "{ini:{tmp}{\}dep.ini,install,o2007Pia}"; Parameters: "/quiet /extract:{tmp}"; Description: "{cm:o2007Pia_title}"; StatusMsg: "{cm:depinstall_status,{cm:o2007Pia_title}}"; Flags: skipifdoesntexist
Filename: "{tmp}\o2007pia.msi"; Parameters: "/qn"; Description: "{cm:o2007Pia_title}"; StatusMsg: "{cm:depinstall_status,{cm:o2007Pia_title}}"; Flags: skipifdoesntexist shellexec waituntilterminated
[Code]
function MsiQueryProductState(szProduct: String): Integer;
external 'MsiQueryProductStateA@msi.dll stdcall';
const
{from msi.h}
INSTALLSTATE_DEFAULT = 5 ;
o2007Pia_url = 'http://download.microsoft.com/download/e/1/d/e1df4622-5f6c-4fb9-845b-38d009cc1188/PrimaryInteropAssembly.exe';
procedure o2007Pia();
var
installstate: Integer ;
begin
installstate := MsiQueryProductState ( '{50120000-1105-0000-0000-0000000FF1CE}' ) ;
if installstate <> INSTALLSTATE_DEFAULT then
InstallPackage('o2007Pia', 'PrimaryInteropAssembly.exe', CustomMessage('o2007Pia_title'), CustomMessage('o2007Pia_size'), o2007Pia_url);
end;
vsto30sp1.iss - Visual Studio Tools for Office 3.0 runtime SP1
[CustomMessages]
vsto30sp1_title=Visual Studio Tools for Office 3.0 runtime SP1
en.vsto30sp1_size=1.3 MB
de.vsto30sp1_size=1.3 MB
[Run]
Filename: "{ini:{tmp}{\}dep.ini,install,vsto30sp1}"; Description: "{cm:vsto30sp1_title}"; StatusMsg: "{cm:depinstall_status,{cm:vsto30sp1_title}}"; Parameters: "/q"; Flags: skipifdoesntexist
[Code]
const
vsto30sp1_url = 'http://download.microsoft.com/download/0/c/4/0c4c5bd1-c27d-4ee0-8466-4a3ea487263f/vstor30sp1-KB949258-x86.exe';
procedure vsto30sp1();
var
version: cardinal;
begin
RegQueryDWordValue(HKLM, 'Software\Microsoft\vsto runtime Setup\v9.0.30729', 'Install', version);
if IntToStr(version) <> '1' then
InstallPackage('vsto30sp1', 'vstor30.exe', CustomMessage('vsto30sp1_title'), CustomMessage('vsto30sp1_size'), vsto30sp1_url);
end;
SqlCompact35.iss - Microsoft SQL Server Compact 3.5 SP1
[CustomMessages]
SqlCompact35_title=Microsoft SQL Server Compact 3.5 SP1
en.SqlCompact35_size=2.3 MB
de.SqlCompact35_size=2,3 MB
fr.SqlCompact35_size=2,3 Mo
[Run]
Filename: "{tmp}\SSCERuntime-ENU-x86.msi"; Parameters: "/qn"; Description: "{cm:SqlCompact35_title}"; StatusMsg: "{cm:depinstall_status,{cm:SqlCompact35_title}}"; Flags: skipifdoesntexist shellexec waituntilterminated
[Code]
function MsiQueryProductState(szProduct: String): Integer;
external 'MsiQueryProductStateA@msi.dll stdcall';
const
{from msi.h}
INSTALLSTATE_DEFAULT = 5 ;
SqlCompact35_url = 'http://download.microsoft.com/download/8/4/2/8423c019-ccb4-4d7d-b7f0-bcf83f1b9218/SSCERuntime-ENU-x86.msi';
procedure SqlCompact35();
var
installstate: Integer ;
begin
installstate := MsiQueryProductState ( '{E59113EB-0285-4BFD-A37A-B79EAC6B8F4B}' ) ;
if installstate <> INSTALLSTATE_DEFAULT then
InstallPackage('SqlCompact35', 'SSCERuntime-ENU-x86.msi', CustomMessage('SqlCompact35_title'), CustomMessage('SqlCompact35_size'), SqlCompact35_url);
end;
Phil
|
|
|
|
|
|
Thanks for your contribution Phil. Could you also post the InstallPackage method?
|
|
|
|
|
Hi, it took me a while to figure this out.
It looks like I based my scripts on an older version of this article. I have a copy of the .zip file which I downloaded in July 2009, before stfx's most recent update.
The InstallPackage method was originally in the file products.iss. It looks like it has been replaced with the function AddProduct, which has exactly the same parameters.
By the way, I have made some changes to my version of the script SqlCompact35.iss, which I will post separately.
Phil
|
|
|
|
|
I have been unable to get these scripts to run the installers for SqlServer Compact. The Url works and downloads, but as soon as the download is complete, I get an error message "An error occurred while installing the dependencies". The scripts find that the dependencies are missing, but will not run the installer. I have tried all I can but probably am missing something simple. I am using version 5.4.2(a).
Have you posted any more changes to the script? I haven't found any newer posts. Thanks, if I can get these scripts to work, I will be done!
Harley
|
|
|
|
|
I have made a change to the script SqlCompact35.iss.
In this script I have abandoned using the function MsiQueryProductState to check for an installed product ID. I found that there were too many variations of this product with different UUIDs.
This is the version which I am now using:
[CustomMessages]
SqlCompact35_title=Microsoft SQL Server Compact 3.5 SP1
en.SqlCompact35_size=2.3 MB
de.SqlCompact35_size=2,3 MB
fr.SqlCompact35_size=2,3 Mo
[Run]
Filename: {tmp}\SSCERuntime-ENU-x86.msi; Parameters: /qn; Description: {cm:SqlCompact35_title}; StatusMsg: {cm:depinstall_status,{cm:SqlCompact35_title}}; Flags: skipifdoesntexist shellexec waituntilterminated
[Code]
const
SqlCompact35_url = 'http://download.microsoft.com/download/8/4/2/8423c019-ccb4-4d7d-b7f0-bcf83f1b9218/SSCERuntime-ENU-x86.msi';
procedure SqlCompact35();
var
installstate: Boolean ;
begin
installstate := RegValueExists ( HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5', 'Version' ) ;
if Not installstate then
InstallPackage('SqlCompact35', 'SSCERuntime-ENU-x86.msi', CustomMessage('SqlCompact35_title'), CustomMessage('SqlCompact35_size'), SqlCompact35_url);
end;
As already noted in another post, I am using an older version of the code from this article. To work with the current version, I believe that you will have to replace InstallPackage with AddProduct.
Phil
|
|
|
|
|
have you tried the new version, Is this worth the time. I have always used Installsheild and found it did the job. what do you really think compared to the new version. Good artile .
cheers,
Donsw
My Recent Article : Backup of Data files - Full and Incremental
|
|
|
|
|
After installing .NET Framework 3.5 the Inno Setup comes up with a page that says a restart is required instead of going to the last page I defined. Now, if the .NET Framework doesn't not need to be installed, it goes to the correct page.
I have the following under the [Run] section of the dotnetfx35sp1.iss file
Filename: "{ini:{tmp}{\}dep.ini,install,dotnetfx35sp1}"; Description: "{cm:dotnetfx35sp1_title}"; StatusMsg: "{cm:depinstall_status,{cm:dotnetfx35sp1_title}}"; Parameters: "/lang:enu /qb /norestart"; Flags: skipifdoesntexist
It passes the /norestart parameter to the exe but for some reason Inno thinks it needs to restart. Is this something that is automatically detected and can not be changed? Is a restart really necessary? Every time I have installed .NET Framework 3.5, it doesn't require a restart...but then again, I have heard of others where it does require a restart.
Thanks
Nick
|
|
|
|
|
i think because of msi31:
if you install the Windows Installer msi31 manually , then the setup finally wants to restart the computer. So maybe those who also needed to install msi31 before the dotnetfx35 where prompted for restart after the whole installation process (though a restart is apparently not necessary...)
|
|
|
|
|
This is a fantastic script.
I have one question, how do you get the download url's from download.microsoft.com for the packages you want to install, such as .Net 2.0 SP 1:
http://download.microsoft.com/download/0/8/c/08c19fa4-4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe
I need to install the .Net Report Viewer SP1 Redistributable but cannot find the proper URL for my script.
|
|
|
|
|
Hi,
I'm trying out your example and it works exactly the way I want it to, but I do have one question though.
Although the parameter norestart is being set while installing the .net 3.5 sp1 framework, the installer always asks me to reboot my pc (I'm testing on a clean xp virtual machine install).
Do you have any idea why this happens?
Thanks in advance!
Lenny
|
|
|
|
|
I just asked this question and noticed you already did a week ago. Did you ever resolve this issue?
Thanks
Nick
|
|
|
|
|
Hello,
First off...thank you. This solved an issue we have been trying to solve for a really long time now.
I incorporated this into our setup and it detects that the .net framework 3.5 needs to be installed and downloads it correctly but when it gets to installing it, there seems to be no notification to the user that anything is happening. The window appears saying Microsoft .net Frameworkd 3.5 sp1 is being installed but the progress bar never moves. After 10 minutes or so it completes but there is no indication to the user of any progress.
I noticed that the exe is being run with the /quiet parameter (see below) and thus none of the UI for .net framework installation is shown. One solution I thought of was to run the installation using the /qb rather than /quiet as the UI would be shown but no users interaction would be required. Is there any way to do this?
[17:11:01.030] *** Setup started
[17:11:03.051] Setup version: Inno Setup version 5.2.3
[17:11:03.055] Original Setup EXE: C:\Users\nickolsen\Desktop\dotnetfx_innosetup\bin\setup.exe
[17:11:03.058] Setup command line: /SL5="$C12E6,75676,53248,C:\Users\nickolsen\Desktop\dotnetfx_innosetup\bin\setup.exe" /SPAWNWND=$A137A /NOTIFYWND=$2607AC /DEBUGWND=$271054
[17:11:03.059] Windows version: 6.00.6001 SP1 (NT platform: Yes)
[17:11:03.060] 64-bit Windows: No
[17:11:03.061] Processor architecture: x86
[17:11:03.062] User privileges: Administrative
[17:11:03.069] 64-bit install mode: No
[17:11:03.072] Created temporary directory: C:\Users\NICKOL~1\AppData\Local\Temp\is-DVRJL.tmp
[17:11:04.865] Message box (Yes/No):
The following applications are required before setup can continue:
.NET Framework 3.5 Service Pack 1 (3 MB - 232 MB)
Download and install now?
[17:11:06.315] User chose Yes.
[17:11:07.196] Starting the installation process.
[17:11:07.203] Installation process succeeded.
[17:11:07.208] -- Run entry --
[17:11:07.210] Run as: Current user
[17:11:07.212] Type: Exec
[17:11:07.215] Filename: C:\Users\NICKOL~1\AppData\Local\Temp\is-DVRJL.tmp\dotnetfx35sp1.exe
[17:11:07.217] Parameters: /lang:enu /quiet /norestart
[17:12:00.106] Process exit code: 0
[17:12:00.113] Need to restart Windows? No
Thanks
Nick
|
|
|
|
|
Message Closed
modified 23-Dec-20 12:44pm.
|
|
|
|
|
I understand the issue of it finishing "successfully" even if they press cancel and that is ok for our situation. How can I go about setting the parameters for the .net framework installation to use /qb rather than /quiet?
Thanks
Nick
|
|
|
|
|
Message Closed
modified 23-Dec-20 12:44pm.
|
|
|
|
|
I definately should have figured that out. Shows you how much I know!
Thanks!
|
|
|
|