Prérequis avec ISTool et InnoSetup

Signaler
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
-
cs_ELIE123
Messages postés
3
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
16 mai 2011
-
Salut,
Je suis entrain de créer un setup pour une application personnelle.
L'utilitaire de visual studio 2008 n'est pas satisfaisant.
J'ai décider d'utiliser le couple ISTool et Inno Setup.

Je voudrais intégrer les éléments suivants dans le Setup et les installer si nécessaire:
Windows Installer 3.1
Framework 3.5
SQL Server Compact 3.5

Merci à tous

5 réponses

Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
4
Je te conseille NSIS. Y'a des exemples montrant comment detecter la version de .NET installé, installer des prerequis et d'autres subtilités sur leur doc.

Et puis c'est juste le meilleur installer du moment.
Messages postés
1
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
3 juillet 2009

[file:///D:/%5B%20DOCUMENTS%20%5D/Visual%20Studio%202008/Installation/Main%20files/NETCFSetupv35.msi
]Si ça intéresse toujours, voilà le script que j'ai fait pour l'installation de mes softs pour vérifier la présence de windows installer 3.1 et de Framework 3.5.
Pour SQL Server compact 3.5, je pense que tu peux faire la même chose que pour le Framework.

var
  FrameWorkOK, WindowsInstallerOK: Boolean;

function InitializeSetup(): Boolean;

begin

  FrameWorkOK := false;

  WindowsInstallerOK := false;

  Result := True;

end;

function InstallFrameWork(): Boolean;
var
  Names : TArrayOfString;
  RegBaseName, SearchString, S : String;
  NameArrayIndex : Integer;
begin
    FrameWorkOK := true;
    SearchString := 'Microsoft .NET Compact Framework 3.5';
    RegBaseName := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
  if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, RegBaseName, Names) then
  begin
        S := '';
        for NameArrayIndex := 0 to GetArrayLength(Names) - 1 do
        begin
            if FrameWorkOK then
            begin
                if RegQueryStringValue(HKEY_LOCAL_MACHINE, RegBaseName + '\' + Names[NameArrayIndex], 'DisplayName', S) then
                begin
                    if CompareStr(S, SearchString) <> 0 then
                    begin
                        FrameWorkOK := true;
                    end else
                    begin
                        FrameWorkOK := false;
                    end;
                end;
            end else
            begin
                NameArrayIndex := GetArrayLength(Names);
            end;
        end;
  end else
  begin
    FrameWorkOK := true;
  end;
  Result := FrameWorkOK;
end;

function InstallWindowsInstaller(): Boolean;
var
  Names: TArrayOfString;
  WIVersion, WIFile, SearchedVersion : String;
begin
    SearchedVersion := '3.1';
    WIFile := 'C:\Windows\System32\msiexec.exe';
    if FileExists(WIFile) then
    begin
        if GetVersionNumbersString(WIFile, WIVersion) then
            begin
                if Pos(SearchedVersion, WIVersion) <> 0 then
                    begin
                        WindowsInstallerOK := false;
                    end else
                    begin
                        WindowsInstallerOK := InstallFrameWork();
                    end;
            end else
            begin
                WindowsInstallerOK := InstallFrameWork();
            end;
    end else
    begin
        WindowsInstallerOK := InstallFrameWork();
    end;
  Result := WindowsInstallerOK;
end;

Voilà, j'espère que ça va t'aider... même si je réponds super tard...
Messages postés
3
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
16 mai 2011

Messages postés
3
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
16 mai 2011

Messages postés
3
Date d'inscription
samedi 14 mai 2011
Statut
Membre
Dernière intervention
16 mai 2011

comment on peut avoir une interface commune qui nous permet de démarrer deux jeux dans une meme fenetre en netbeans