![]() |
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 |
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. |
AW: Das Programm wurde eventuell nicht richtig installiert.
Zitat:
Lösung: Entweder einen Eintrag in der Systemsteuerung erzeugen oder dein Anwendungsmanifest anpassen ;-) |
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; |
AW: Das Programm wurde eventuell nicht richtig installiert.
Die Meldung kommt nur, wenn von CD installiert wird!? :gruebel:
|
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? |
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\ |
AW: Das Programm wurde eventuell nicht richtig installiert.
Umlaute/komischen Zeichensatz im Manifest?
|
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; |
AW: Das Programm wurde eventuell nicht richtig installiert.
Versuch es mal so:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz