Installation en mode administrateur limité

Résolu
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012 - 10 janv. 2012 à 05:59
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 - 16 janv. 2012 à 19:52
Bonjour et meilleux voeux à tous.

Je souhaiterais un renseignement SVP.
J'ai écrit une application de base de données Paradox7 sur Delphi5 pro
et j'ai réalisé une installation avec le BDE par InstallShield Express en version limité
pour ce même Delphi. Tout cela fonctionne très bien avec une machine en mode administrateur,
mais cela se gâte quand je réalise la même chose sur une machine qui dispose de droits limités
du mode administrateur. L'application s'installe aussi très bien mais ne veux pas se lancée,
juste l'écran de démarrage puis s'éteint aussitôt sans aucun messages d'erreurs.
Je vous remercie d'avance, si quelqu'un pouvais me donné une indication sur se problème
car j'en ais bien besoin pour mon boulot ou il ont installés toutes des machines en réseau
et avec un mode utilisateur limité sur celles-ci.

Encore merci d'avoir eu la patiente de me lire et plus encore si j'ais une réponse posotive.
Amitiés...
AEC1

7 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
10 janv. 2012 à 19:47
Bonsoir

Vu que tu as écrit cette application, tu devrais y rajouter un try...except global dans le code source du projet (Menu Projet>Voir le source) :
// Exemple:
  try
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
  except
    On E:Exception do
      ShowMessage( E.Message ) ;
  end;

N.B. Il ne faut pas oublier d'inclure les unités SysUtils et Dialogs dans la clause "uses" si elles ne sont pas déjà présentes.

Ainsi tu intercepteras certainement l'exception sur laquelle le programme sors.

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
3
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
12 janv. 2012 à 23:14
Bonsoir

Il faut impérativement respecter l'ordre d'appel suivant comme suit: Application.MainFormOnTaskbar doit être appelé après Application.Initialize et avant la création de la fiche principale. En supposant que ta fiche principale est Form1 (A vérifier dans les options du projet), cela devrait être correct.

Maintenant la création de ta fiche TForm14 me semble peu orthodoxe. Pourrais-tu essayer de mettre en commentaire tout ce qui concerne cette fiche, recompiler ton projet et réessayer pour voir si tu as le même phénomène ?

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
3
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
13 janv. 2012 à 20:48
Bonsoir
[Erreur] Transanalyses.dpr(31): Identificateur non déclaré : 'MainFormOnTaskbar'

Ceci suppose qu'il n'y a pas de propriété MainFormOnTaskbar dans la classe TApplication.
Si tu tapes juste
Application.
est-ce que Delphi te propose dans la liste qui apparait la propriété ? Est-ce que cette propriété est présente dans l'aide ? Vu que tu as la version Pro tu as donc aussi les sources, est-ce que tu as dans l'unité Forms le code suivant ?
property MainFormOnTaskBar: Boolean read FMainFormOnTaskBar write SetMainFormOnTaskBar;


As tu le même phénomène si tu pars d'un projet vierge ?

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
3
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
12 janv. 2012 à 18:19
Bonsoir,
je ne suis pas très performant pour toutes ces manip., mais j'ai un plantage au démarrage sur la liste qui suis:
begin
Application.Initialize;
// //Création de la form d'acueil
with TForm14.Create(nil) do
try
Show; // affichage de l'écran de démarrage
Update; // Force l'affichage de l'accueil
// Création des autres forms
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TQuickReport3, QuickReport3);
Application.CreateForm(TQuickReport4, QuickReport4);
Application.CreateForm(TQuickReport5, QuickReport5);
Application.CreateForm(TQuickReport6, QuickReport6);
Application.CreateForm(TQuickReport7, QuickReport7);
Application.CreateForm(TQuickReport8, QuickReport8);
Application.CreateForm(TForm9, Form9);
Application.CreateForm(TQuickReport10, QuickReport10);
Application.CreateForm(TQuickReport11, QuickReport11);
Application.CreateForm(TForm12, Form12);
Application.CreateForm(TQuickReport13, QuickReport13);
Application.CreateForm(TForm15, Form15);
Application.CreateForm(TQuickReport16, QuickReport16);
Application.CreateForm(TQuickReport17, QuickReport17);
Application.CreateForm(TQuickReport18, QuickReport18);
Application.CreateForm(TQuickReport19, QuickReport19);
Application.CreateForm(TForm20, Form20);
finally
Free; // ferme et libère l'écran de démarrage
end;
Application.Run;
except
On E:Exception do
ShowMessage( E.Message ) ;
end;


au niveau de cette ligne:
Application.MainFormOnTaskbar := True;
mais sans avoir de message d'erreur?
après je suis incapable de dire si l'insertion dans mon code est juste?
Merci de ton aide si tu as le temps.

Pour info, si j'installe mon prog. sur une machine avec tous les droits utilisateur, cela fonctionne et la base installée avec le BDE c'est OK. Mais si après on limite les droits juste sur le programme et ses fichiers et aussi le BDE dans le rep. Program_file, cela ne suffit pas cas le prog. ne démarre plus et Windows me donne un message d'erreur me disant qu'il ne peut démarrer le prog.
Désolé d'être long mais je ne sais que faire car à mon boulot la plupart des machine son en réseau et notre service informatique ferme certains accés afin d'évité les malveillances ou les bidouilleurs.
Merci de ton aide cela est possible, amitiés...AEC1
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
13 janv. 2012 à 05:55
Bonjour,
j'ai essayer de faire la même chose avec un prog. dont il n'y à pas de forme de présentation, mais j'ai toujours le message suivant:
[Erreur] Transanalyses.dpr(31): Identificateur non déclaré : 'MainFormOnTaskbar'
malgré que SysUtils et Dialogs soit dans la liste use?
En plus je suppose que le sans de cette ligne est d'intercepté manuellement le ou les fichier(s) en question avant le lancement du prog. Voici le listing de ce que j'ai fait.
program Project1;

uses
Forms, SysUtils, Dialogs,
Dotlab in 'Dotlab.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit1 in 'Unit1.pas' {QuickReport1: TQuickRep},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {QuickReport4: TQuickRep},
Unit5 in 'Unit5.pas' {QuickReport5: TQuickRep},
Unit6 in 'Unit6.pas' {Form6},
Unit7 in 'Unit7.pas' {QuickReport7: TQuickRep},
Unit8 in 'Unit8.pas' {QuickReport8: TQuickRep};

{$R *.RES}

begin
try
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TQuickReport1, QuickReport1);
Application.CreateForm(TForm3, Form3);
Application.CreateForm(TQuickReport4, QuickReport4);
Application.CreateForm(TQuickReport5, QuickReport5);
Application.CreateForm(TForm6, Form6);
Application.CreateForm(TQuickReport7, QuickReport7);
Application.CreateForm(TQuickReport8, QuickReport8);
Application.Run;
except
On E:Exception do
ShowMessage( E.Message ) ;
end;
end.

Merci de te mettre à contribution une nouvelle fois, mais vraiment cela m'enlèverais une sérieuse épine du pied.
Amitiés et encore merci...
AEC1
0
AEC1 Messages postés 98 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 24 décembre 2012
16 janv. 2012 à 05:39
Bonjour,
j'ai été absent pendant le weekend, j'ai donc essayer ce que tu m'as proposé, mais négatif. Il n'y à pas cette propriété dans ma version Delphi 5 Pro. Maintenant je suis encore dans l'impasse. Désolé mais je ne sais que faire. Aurais-tu à tout hasard une autre idée afin de contourner ce problème. Encore merci et amitiés...
AEC1
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
16 janv. 2012 à 19:52
Bonsoir

Donc si tu ne l'as pas, tu n'as pas le choix, il te faut tout simplement supprimer le code correspondant et s'orienter vers une autre solution adaptée à Delphi5.

Cordialement.[hr]"L'imagination est plus importante que le savoir." Albert Einstein
0
Rejoignez-nous