|
after i search more...
it's just that i was in french ... and it's buggins without add the french langage in product.
|
|
|
|
|
How can I verify if has already installed Visual C++ Redistributable? In my simple test, using VC++ 2015 Update 1. This doesnt work. (win10 - with vs2015 prof.) and (win7 - second install).
That's an amazing script, very nice!
Omar - VC++ Programmer
modified 16-Feb-16 12:56pm.
|
|
|
|
|
Hi,
have you planned to update version for SQL Server 2014 (and nearly 2016) ?
Vincent
|
|
|
|
|
I'm currently using this for SQL Server 2014 Express:
[CustomMessages]
sql2014expressr2_title=SQL Server 2014 Express Service Pack 1
sql2014expressr2_size=58.2 MB
sql2014expressr2_size_x64=74.1 MB
[Code]
const
sql2014express_url = 'https://download.microsoft.com/download/1/5/6/156992E6-F7C7-4E55-833D-249BD2348138/ENU/x86/SQLEXPR_x86_ENU.exe';
sql2014express_url_x64 = 'https://download.microsoft.com/download/1/5/6/156992E6-F7C7-4E55-833D-249BD2348138/ENU/x64/SQLEXPR_x64_ENU.exe';
procedure sql2014express();
var version: string;
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version);
if (compareversion(version, '12.0') < 0) then begin
if (not IsIA64()) then
AddProduct('SQLEXPR2014_' + GetArchitectureString() + '.exe',
'/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=All /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\administrators"',
CustomMessage('sql2014express_title'),
CustomMessage('sql2014express_title' + GetArchitectureString()),
GetString(sql2014express_url, sql2014express_url_x64, ''),
false, false);
end;
end;
If you want to detect other "regular" SQL servers, all you need to do is change registry key queried for version information. I don't know about Local versions.
The registry key for regular SQL Server installations is:
SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion
"Has anyone ever told you that a query you have written runs too fast?" - Dwain Camps - 6 Mar 2014
|
|
|
|
|
1. The Visual C++ 2010 Redistributable must be updated to SP1. Otherwise the installation will fail if that service pack is already installed. Together with the /q parameter, the user will not even know what happened. The URLs are:
vcredist2010_url_x86 = 'https://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe';
vcredist2010_url_x64 = 'https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe';
vcredist2010_url_ia64 = 'https://download.microsoft.com/download/7/7/3/77332C03-CC6C-45E5-A7B6-E02504B93847/vcredist_IA64.exe';
vcredist2010_productcode_x86 = '{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}';
vcredist2010_productcode_x64 = '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}';
vcredist2010_productcode_ia64 = '{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}';
Also the parameter /q should be replaced with /passive, just like for the .NET Framework setups. It's not silent but it doesn't ask for user input and can still show error messages.
2. Wouldn't it be safer to use all HTTPS URLs instead of unsecured HTTP?
|
|
|
|
|
Hi.
I've done many changes in the Github project to support https and many other things. You can try.
Vincent
|
|
|
|
|
In your copy? I've already submitted my changes to stfx' GitHub repository and they're all merged now.
|
|
|
|
|
Yes in my copy.
I may try to submit on the original project
|
|
|
|
|
Are you up for a cleaned up German translation? There are currently three files for the same purpose in the archive, and mine is still more consistent and fluently worded.
|
|
|
|
|
Do you think makin a GitHub project will be a more collaborative solution to update the project ?
|
|
|
|
|
Well, also on GitHub there is project owners who have the right to push. Everybody else's changes need to be pulled in on request. If that doesn't happen, it's not better than this. The only advantage I see in GitHub (or similar collaboration platforms) is that it encourages contribution more than this completely unorganised approach. So, yes, it could be worth a try. But I likely wouldn't want to be a project lead.
|
|
|
|
|
OK. I take the lead then.
Here it is :
[^]
First version is CodeProject. Because Your version seems to contains many changes, we will use this one after you submit it.
|
|
|
|
|
I've submitted my pull request. You should take a look at the multiple French files. I also have a bit of normalisation done to my copy which I can offer if you like.
You might also want to make a bigger announcement for the GitHub repo here in the forums.
|
|
|
|
|
|
Let's try. I'll send my changes there, too. If there's a response, we'll see. If not, that repo might be as dead as this article.
|
|
|
|
|
I've made many changes to reflect comments and suggestions.
It's an alpha version. testing has not been done for the moment. It's the next step.
|
|
|
|
|
What's the current status? The GitHub repository from "stfx" has a few small changes over what's available here on CodeProject. So I consider that more up-to-date and if any forks are done, they should probably be done directly from that "official" repo.
I have repeated my pull requests towards that repository. Let's see what happens. I've got more ideas, like using https for all download links, adding VC++2010SP1, and removing /q from all setups because it mutes critical error messages required to understand failures. (I had these issues myself and needed to phone-debug that thing.)
I have also deleted my other fork of your repository. (You merged my changes anyway. But I think you should redo it from the other one.)
|
|
|
|
|
|
Yes, you can contribute. Just fork the original repository and create a pull request with your changes.
|
|
|
|
|
My changes have been merged into the latest version of the source code. It can be found in the official repository at GitHub: stfx/innodependencyinstaller - Inno Setup - GitHub[^] The author is pretty responsive there so I guess only this CodeProject page is abandoned, not the project itself.
|
|
|
|
|
Hello,
I added support to SQL Server Compact 4.0 SP1. Follow the code:
File scripts\products\sqlcompact40sp1.iss
[CustomMessages]
sqlcompact40sp1x86_title=SQL Server Compact 4.0 Service Pack 1 (x86)
sqlcompact40sp1x64_title=SQL Server Compact 4.0 Service Pack 1 (x64)
;en.sqlcompact40sp1_size=5.3 MB
;de.sqlcompact40sp1_size=5,3 MB
brazilianportuguese.sqlcompact40sp1_size=2,5 MB
[Code]
const
sqlcompact40sp1x86_url = 'http://download.microsoft.com/download/F/F/D/FFDF76E3-9E55-41DA-A750-1798B971936C/ENU/SSCERuntime_x86-ENU.exe';
sqlcompact40sp1x64_url = 'http://download.microsoft.com/download/F/F/D/FFDF76E3-9E55-41DA-A750-1798B971936C/ENU/SSCERuntime_x64-ENU.exe';
procedure sqlcompact40sp1();
begin
if (not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v4.0')) then
if (isX86()) then
AddProduct('SSCERuntime_x86-ENU.msi',
'',
CustomMessage('sqlcompact40sp1x86_title'),
CustomMessage('sqlcompact40sp1_size'),
sqlcompact40sp1x86_url,
false, true)
else
AddProduct('SSCERuntime_x64-ENU.msi',
'',
CustomMessage('sqlcompact40sp1x64_title'),
CustomMessage('sqlcompact40sp1_size'),
sqlcompact40sp1x64_url,
false, true)
end;
If the .msi files are in dependencies folder, the installation works. But when the installer download it, happens an error in installation. Is there any bug in my code? Do you have a code for adding support for SQL Compact 4.0 SP1?
|
|
|
|
|
|
|
It's a perfect project Thanks
|
|
|
|
|
Hi.
I ship 2 versions of my program a x86 and x64 bit of my application.
I have noticed when the user tries to install my 32 bit version on a 64 bit OS the scripts will detect it's a 64 bit system and install the 64 bit resources. This causes my 32 bit application to crash with System.IO (File Missing) Error.
To prevent this.. I have to force the x86 resources for my 32 bit app on the 64bit OS
In my Inno Setup File above [Setup] add this line.
;comment out this next line if your app is 64 bit or Any CPU
#define force_x86
Next find this block of code.
#ifdef use_vc2013
vcredist2013();
#endif
and replace it with this one.
#ifdef use_vc2013
#ifdef force_x86
vcredist2013(true); #else
vcredist2013(false); #endif
#endif
Here is my modified vcredist2013.iss
[CustomMessages]
vcredist2013_title=Visual C++ 2013 Redistributable
vcredist2013_title_x64=Visual C++ 2013 64-Bit Redistributable
en.vcredist2013_size=6.2 MB
de.vcredist2013_size=6,2 MB
en.vcredist2013_size_x64=6.9 MB
de.vcredist2013_size_x64=6,9 MB
[Code]
const
vcredist2013_url = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe';
vcredist2013_url_x64 = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe';
vcredist2013_productcode = '{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}';
vcredist2013_productcode_x64 = '{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}';
procedure vcredist2013(Force_x86:Boolean);
begin
if (not IsIA64()) then begin
if (IsX64()) then begin
if (Force_x86 = true) then begin
if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode, ''))) then begin
AddProduct('vcredist2013' + '.exe', '/passive /norestart',
CustomMessage('vcredist2013_title'),
CustomMessage('vcredist2013_size'),
GetString(vcredist2013_url, vcredist2013_url, ''), false, false);
end;
end else if (Force_x86 = false) then begin
if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode_x64, ''))) then begin
AddProduct('vcredist2013' + GetArchitectureString() + '.exe', '/passive /norestart',
CustomMessage('vcredist2013_title' + GetArchitectureString()),
CustomMessage('vcredist2013_size' + GetArchitectureString()),
GetString(vcredist2013_url, vcredist2013_url_x64, ''), false, false);
end;
end;
end else if (IsX86()) then begin
if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode_x64, ''))) then begin
AddProduct('vcredist2013' + GetArchitectureString() + '.exe', '/passive /norestart',
CustomMessage('vcredist2013_title' + GetArchitectureString()),
CustomMessage('vcredist2013_size' + GetArchitectureString()),
GetString(vcredist2013_url, vcredist2013_url_x64, ''),false, false);
end;
end;
end;
end;
You can modify the same thing with 2005,2008,2010,2012,2015
This fixes the following issues.
when the force_x86 flag is enabled.
======================================
1. Will install x86 resources instead of the x64 version
2. Will install the x86 version even if the x64 version is already installed.
when the force_x86 flag is not enabled (commented out)
1. It will auto detect as normal
Having experience with .NET 4.0 you can install the 64 bit resource and run 32 or 64 bit applications on a 64bit OS, but it seems that the C++ resources are different, you have to have the 32 bit or 64 bit version in which you want to run.. I have noticed this true on windows 8.1 and windows 10
Thanks,
David Eaton
modified 15-Aug-15 7:54am.
|
|
|
|
|