- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, StdCtrls, FileCtrl, ExtCtrls,registry, Grids,inifiles,jpeg,ShlObj,ComObj,ActiveX, MPlayer, ComCtrls;
-
-
- procedure TInstall.Button1Click(Sender: TObject);
- var
- chem_bureau, chem_prog_file:String;
- Registre:Tregistry;
- ShellLink : IShellLink;
- begin
-
- //******* je regarde dans la Base de Registre le chemin du bureau
-
- //ouvre le registre
- registre:=Tregistry.create;
-
- //si l'ouverture a reussi alors
- With registre do
- begin
- //je récupére le chemin du bureau dans chem_bureau
- RootKey:=HKEY_CURRENT_USER;
- OpenKey ('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',false);
- chem_bureau:=ReadString('DeskTop')+'\';
- end;
-
- //libere le registre
- registre.free;
-
- //*******je vais chercher le chemin ou se trouve program files
-
- //ouvre le registre
- registre:=Tregistry.create;
-
- //si l'ouverture a reussi alors
- With registre do
- begin
- //je récupére le chemin du bureau dans chem_bureau
- RootKey:=HKEY_LOCAL_MACHINE;
- OpenKey('Software\Microsoft\Windows\CurrentVersion\',false);
- chem_prog_file:=ReadString('ProgramFilesDir')+'\';
- end;
-
- //libere le registre
- registre.free;
-
- //creer un nouveau répértoire
- CreateDir(chem_prog_file+'installation\');
-
- //copie des fichier dans Program Files
- copyfile(Pchar('speedis.avi'),Pchar(chem_prog_file+'installation\speedis.avi'),true);
- copyfile(Pchar('Project1.exe'), Pchar(chem_prog_file+'installation\Project1.exe'),true);
-
- //Création du raccourcis
- ShellLink:=CreateComObject(CLSID_ShellLink) as IShellLink;
-
- //Description du raccourcis (visible dans les propriétés du raccourcis)
- ShellLink.SetDescription('Raccourcis vers le projet');
-
- //Direction de l'execution du raccourcis (important si il un a des
- //composants qui appelle des fichier externe avec un chemin relatif)
- ShellLink.SetWorkingDirectory(Pchar(chem_prog_file+'installation\'));
-
- //Chemin du .exe
- ShellLink.SetPath(PChar(chem_prog_file+'installation\Project1.exe'));
-
- //?? mais ne marche pas quand on le met pas
- ShellLink.SetShowCmd(SW_SHOW);
-
- //creation du raccourcis sur le bureau
- (ShellLink as IpersistFile).Save(StringToOleStr(chem_bureau+'Project1.lnk'), true);
-
- //super, ca marche !!!
- showmessage('installation reussie');
- end;
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, FileCtrl, ExtCtrls,registry, Grids,inifiles,jpeg,ShlObj,ComObj,ActiveX, MPlayer, ComCtrls;
procedure TInstall.Button1Click(Sender: TObject);
var
chem_bureau, chem_prog_file:String;
Registre:Tregistry;
ShellLink : IShellLink;
begin
//******* je regarde dans la Base de Registre le chemin du bureau
//ouvre le registre
registre:=Tregistry.create;
//si l'ouverture a reussi alors
With registre do
begin
//je récupére le chemin du bureau dans chem_bureau
RootKey:=HKEY_CURRENT_USER;
OpenKey ('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',false);
chem_bureau:=ReadString('DeskTop')+'\';
end;
//libere le registre
registre.free;
//*******je vais chercher le chemin ou se trouve program files
//ouvre le registre
registre:=Tregistry.create;
//si l'ouverture a reussi alors
With registre do
begin
//je récupére le chemin du bureau dans chem_bureau
RootKey:=HKEY_LOCAL_MACHINE;
OpenKey('Software\Microsoft\Windows\CurrentVersion\',false);
chem_prog_file:=ReadString('ProgramFilesDir')+'\';
end;
//libere le registre
registre.free;
//creer un nouveau répértoire
CreateDir(chem_prog_file+'installation\');
//copie des fichier dans Program Files
copyfile(Pchar('speedis.avi'),Pchar(chem_prog_file+'installation\speedis.avi'),true);
copyfile(Pchar('Project1.exe'), Pchar(chem_prog_file+'installation\Project1.exe'),true);
//Création du raccourcis
ShellLink:=CreateComObject(CLSID_ShellLink) as IShellLink;
//Description du raccourcis (visible dans les propriétés du raccourcis)
ShellLink.SetDescription('Raccourcis vers le projet');
//Direction de l'execution du raccourcis (important si il un a des
//composants qui appelle des fichier externe avec un chemin relatif)
ShellLink.SetWorkingDirectory(Pchar(chem_prog_file+'installation\'));
//Chemin du .exe
ShellLink.SetPath(PChar(chem_prog_file+'installation\Project1.exe'));
//?? mais ne marche pas quand on le met pas
ShellLink.SetShowCmd(SW_SHOW);
//creation du raccourcis sur le bureau
(ShellLink as IpersistFile).Save(StringToOleStr(chem_bureau+'Project1.lnk'), true);
//super, ca marche !!!
showmessage('installation reussie');
end;