Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Das Programm wurde eventuell nicht richtig installiert. (https://www.delphipraxis.net/168691-das-programm-wurde-eventuell-nicht-richtig-installiert.html)

Bjoerk 4. Jun 2012 16:31

Das Programm wurde eventuell nicht richtig installiert.
 
Ich habe eine Installationsroutine (mit D 2007 compiliert), die nichts anderes macht als Verzeichnisse anzulegen, zu kopieren, ein paar Registry Einträge anlegt und ein paar Shortcuts anlegt. Das war’s.

Wenn ich von CD aus installiere, dann bekomme ich bei Win64 o. a. Meldung. Bissl blöd. Woran könnt’s liegen?

Gruß
Thomas

himitsu 4. Jun 2012 16:52

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Du hast dein Programm als Admin ausgeführt?
Und wie nennt sich deine EXE, bzw. hast du in den Versionsinfos irgendwelche "verdächtigen" Texte hinterlegt?

Windows geht bei sowas davon aus, daß es sich um ein Setup handelt und prüft gewisse Dinge. (eventuell ob ein Uninstaller registriert wurde)
Wenn es Diese nicht findet, dann kommt eben die genannte Meldung.

jfheins 4. Jun 2012 19:47

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Zitat:

Zitat von Bjoerk (Beitrag 1169478)
Ich habe eine Installationsroutine (mit D 2007 compiliert), die nichts anderes macht als Verzeichnisse anzulegen, zu kopieren, ein paar Registry Einträge anlegt und ein paar Shortcuts anlegt. Das war’s.
Wenn ich von CD aus installiere, dann bekomme ich bei Win64 o. a. Meldung. Bissl blöd. Woran könnt’s liegen?
Gruß
Thomas

Du legst keinen Eintrag in der Sytemsteuerung an und dein Manifest deklariert das Setup als nicht für Win7 (/Vista) entwickelt.

Lösung: Entweder einen Eintrag in der Systemsteuerung erzeugen oder dein Anwendungsmanifest anpassen ;-)

Bjoerk 4. Jun 2012 21:33

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Programm Setup.exe wird als Admin ausgeführt (mit Mainfest {$R ...res}),
Uninstaller ist installiert und eingetragen.

Delphi-Quellcode:
var
  Reg: TRegistry;
begin
  Reg:= TRegistry.Create;
  try
    with Reg do
    begin
      RootKey:= HKey_LOCAL_MACHINE;
      OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + FProgApp.Key, true);
      WriteString('InstallLocation', FNachVerz);
      WriteString('DisplayIcon', FNachVerz + FProgApp.EXE);
      WriteString('DisplayName', FProgApp.Name);
      WriteString('DisplayVersion', FProgApp.VersionStr);
      WriteString('Publisher', 'XXXX Software');
      WriteString('URLInfoAbout', 'http://www.XXXX-software.de');
      WriteString('UninstallString', FVerzA + FProgApp.UnInst);
      WriteInteger('NoModify', 1);
      WriteInteger('NoRepair', 1);
      closeKey;
    end;
  finally
    Reg.Free;
    XXXXZertifikatAnlegen(FNachVerz, false);
  end;
end;

Bjoerk 5. Jun 2012 08:19

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Die Meldung kommt nur, wenn von CD installiert wird!? :gruebel:

jaenicke 5. Jun 2012 09:14

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Ich frage mich zwar, warum du nicht einfach InnoSetup oder ähnliches nimmst, wo das ja alles funktioniert, aber sei es drum:

Vielleicht erkennt Windows, dass du ohne Deaktivierung der Registry-Umleitung auf diese zugreifst. (So landet unter 64-Bit alles unter Wow6432Node, das normalerweise direkt unter Software steht.) Setups sollten entsprechend behandeln.

Oder versuchst du in irgendeiner Weise auf das eigene Verzeichnis zuzugreifen?

Bjoerk 5. Jun 2012 11:06

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Hey jaenicke, genau so ist es, thanx.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\Uninstall\XXXX_Software

Soll Setup auf Win64 prüfen und dann den Pfad so vorgeben?

"Oder versuchst du in irgendeiner Weise auf das eigene Verzeichnis zuzugreifen?"

Was meinst du damit? Dahin wird halt kopiert, sonst nur gelesen.
C:\Program Files (x86)\XXX\

Daniel Schuhmann 5. Jun 2012 12:09

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Umlaute/komischen Zeichensatz im Manifest?

Bjoerk 5. Jun 2012 15:38

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Auch mit Umleitung ändert sich nichts, oder mach' ich da was falsch?

Umlaute/komischen Zeichensatz im Manifest habe ich nicht.

Könnte auch die Standardmeldung sein, wenn nach C:\Program Files (x86)\ installiert wird !?

Delphi-Quellcode:
function IsWow64: boolean;
type
  TIsWow64Process =
    function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL; stdcall;
var
  IsWow64Result: Windows.BOOL;
  IsWow64Process: TIsWow64Process;
begin
  Result:= False;
  if GetWInVersion = wvWin7 then
  begin
    IsWow64Process:=
      Windows.GetProcAddress(Windows.GetModuleHandle('kernel32'), 'IsWow64Process');
    if Assigned(IsWow64Process) then
    try
      IsWow64Process(Windows.GetCurrentProcess, IsWow64Result);
      Result:= IsWow64Result;
    except
      Result:= False;
    end;
  end;
end;

function GetRegUnInstallString: string;
var
  Substr: string;
begin
  if IsWow64 then
    Substr:= 'Wow6432Node\'
  else
    Substr:= '';
  Result:= 'SOFTWARE\' + Substr + 'Microsoft\Windows\CurrentVersion\Uninstall\' + progApp.Key;
end;

DeddyH 5. Jun 2012 15:43

AW: Das Programm wurde eventuell nicht richtig installiert.
 
Versuch es mal so: http://www.delphipraxis.net/86651-re...w6432node.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz