Frage zur Fehlermeldung bei Installation eines MSI-Pakets

Antworten
berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Frage zur Fehlermeldung bei Installation eines MSI-Pakets

Beitrag von berzel » 18. Jul 2006, 09:38

Hallo Zusammen,

bei der Installation eines MSI-Pakets erfolgt immer
folgende Fehlermeldung :

"Diese Aktion ist nur zulässig für Produkte, die im
Augenblick installiert sind."

Kann mir jemand sagen, was das zu bedeuten hat ?

Vielen Dank für eure Hilfe u.
Grüße,

Th. Berzel

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7592
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Beitrag von Hendrik_Ambrosius » 18. Jul 2006, 12:09

Wurde vielleicht das MST-File (Transform) mit dem PackageWizard auf einem PC installiert, der bereits eine andere Version der Software drauf hatte?

Beispiel: Paketier-PC hat Acrobat 6 installiert und Sie erstellen über den PackageWizard ein Paket für Acrobat 7 darauf.

Dann würde nämlich im MST ein "Update" selektiert werden -> Fehler auf PCs die kein Acrobat drauf haben.

Aber das ist jetzt nur Spekulation.

Was passiert denn, wenn Sie die MSI einfach doppelt anklicken? Installiert sich das Produkt?
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 18. Jul 2006, 13:15

Hallo Herr Ambrosius ,

das MSI Paket habe ich neu erstellt und beinhaltet nur ein Icon und
eine Verknuepfung für den Desktop. Also ganz simple.

Eingebunden habe ich dann das MSI via PackageWizard.
Wenn ich die MSI manuell installieren, funktioniert alles
wunderbar.

Aus dem Softwaredepot hingegen gibt es immer die o.g.
Fehlermeldung.

Das Problem habe ich übrigens nicht, wenn ich das Paket in
unserem Testnetz mit Empirum Pro 2005 PFP erzeuge und
benutze.
Nur in unserem Produktivnetz, welches noch auf Empirum Pro 2005
ohne PFP läuft erhalte ich diesen Fehler.
Leider lässt sich das Paket aus dem Testnetz nicht im Produktivnetz
übernehmen. Vermutlich gibt es da ein Kompatibilitätsproblem.


Grüße,
Th. Berzel

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7592
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Beitrag von Hendrik_Ambrosius » 18. Jul 2006, 14:09

Haben Sie vielleicht die MSI transformiert?
Dann rufen Sie doch einfach die untransformierte Original-MSI durch Anpassung in der setup.inf auf.
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 18. Jul 2006, 14:20

Ja. ich hatte die MSI transformiert.
Aber der Aufruf der Original-MSI bwirkt keinen Unterschied.
Gleiche Fehlermeldung !

Wenn ich aber ( egal welche MSI ) per Kommandozeile Aufrufe.
Entsprechend dem Aufruf in der Setup.Inf
Beispiel:

MsiExec /I pm2007.msi /qr /L "c:\temp\msi.log"

funktioniert die Installation.

turbo
Beiträge: 93
Registriert: 01. Jun 2005, 22:07
Wohnort: NRW
Kontaktdaten:

Beitrag von turbo » 18. Jul 2006, 15:19

Hallo

haben sie vielleicht noch ein "Deinstallations aufruf" in der Setup.inf, was vor ihrer Installation kommt, einfacher wäre wenn man einen Blick auf die Setup.inf werfen könnte

gruss

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 18. Jul 2006, 15:26

Hier mal die Setup.Inf. Danke für die Hilfe!

[SetupInfo]
Author=Admin
CreationDate=18.07.2006 11:54:37
Description=
Method (Diff/MSI/...)=MSI
Tested on W2K/NT/...=
Dependencies=
Command line options=/S2
Last Change=
Change of Version=
Change on Section=

[VarDefInfo]
; <Variable>, <Type>, <Allow>

[Setup]
Version=6.5
ShowCaption=1
BlockInput=0

[Requirements]

[Application]
ProductName=Personalmanagement
ProductNameShort=pm2007
Version=1.0.0
VersionDirSuffix=100
Revision=0
ServiceRelease=0
DeveloperName=Test
DeveloperNameShort=Test
SetupName=%ProductName% %Version% %SetupWizard%
Text1="%ProductName% %Version%",Arial,30,,00FFFF,4,,LEFT BOLD ITALIC
Text2="%DeveloperName%",Arial,24,,00FFFF,4,,LEFT BOLD ITALIC
Text8="%Company%",Arial,18,,00FFFF,4,10,RIGHT BOLD ITALIC
Text9="%InstallationFor% %WindowsUser%",Arial,14,,007F00,4,-14,BOTTOM ITALIC LEFT
BackgroundColor=FF0000,000000
BackgroundPicture=
BackgroundSound=
Logo=
WizardPicture=
CopyDialogRect=0%,77%,100%,100%,HCENTER
PrecopyFiles=
UserKeyName=%DeveloperName%\%ProductName%
MachineKeyName=%DeveloperName%\%ProductName%\%Version%
UninstallKeyName=%DeveloperNameShort% %ProductName%
UninstallDisplayName=%ProductName% %Version%
UninstallString=%ReinstallString% /U
ReinstallString="%CommonSetupDir%\Setup.exe" "%App%\%SetupInfDir%\Setup.inf"
ReinstallMode=1
HideUninstall=0
SrcDir=..
ApplicationDir=%ProgramFilesDir%\%ProductName%
SetupInfDir=Install_pm2007
DataDir=%Personal%
DefaultUser=
DefaultCompany=
Prompts=
RunIfInstalled=
Readme=
Execute=
Expand=0
CopyExistingFiles=0
AskUninstallOld=1
AskLicence=0
AskInfo=0
AskFromCD=0
AskShared=0
AskMode=0
AskDir=0
AskDataDir=0
AskUser=0
UseCompany=1
UseProductID=0
ProductIDLength=0
UseCheckmarks=2
AutoIniFileMapping=0
ShellLinks=1
CommonShellLinks=1
CreateUnresolvableShellLinks=1
ShowShellFolder=
LicenceText=
InfoText=
RequirementsText=
UseStringSection=Strings:09
UseSysStringSection=SysStrings:09
PrintServer=
PrintEnvironment=
DateWarning=1
SizeWarning=1
Reboot=0
PreventExternalReboot=0
StartServicesOnReboot=0
ReplaceRunOnce=0
DisableCancelButton=1
ShowEndMessage=1
SetupExtDll=
SetupHookFunc=
ShowFullPath=0

[Admin]
AdminSetup=0
ApplicationDir=
AskDir=1
AskOptions=0
ClientSrcDir=Client
UninstallString=%ReinstallString% /U
ReinstallString="%Src%\..\..\..\..\User\Setup.exe" "%Src%\%SetupInfDir%\Setup.inf"

[Client]
ClientDir=
AskDir=0
AskOptions=1
UseUninstallStringFromApplication=1
Reboot=0

[Workstation]
AskOptions=0
AdminUninstallLink=0
AdminUninstallLinkName=%ProductName% %Version%
UserSetupLink=0
UserSetupLinkName=%ProductName% %Version%

[Strings:07]
Disk1=Diskette 1: Installationsdiskette
InstallationFor=Installation für:
InstallerDesc=Dienstprogramm zum Installieren einzelner Komponenten.
InstallerName=Installationsprogramm
ProductDesc=personalmanagement
SetupWizard=Installations-Assistent
Uninstallation=deinstallieren
ErrorLogMessage=Die Installation/Deinstallation wurde mit einer Fehlermeldung abgebrochen!

[Strings:09]
Disk1=Diskette 1: Installation disk
InstallationFor=Installation for:
InstallerDesc=Service program to install single components.
InstallerName=Setup program
ProductDesc=personalmanagement
SetupWizard=Installation Wizard
Uninstallation=Uninstallation
ErrorLogMessage=The installation/uninstallation aborted with an error message!

[SysStrings:07]
Users=Benutzer

[SysStrings:09]
Users=Users

[Environment]
InstSuccessMessage1031=Installationsvorgang erfolgreich abgeschlossen.
ReInstSuccessMessage1031=Die Konfiguration wurde erfolgreich abgeschlossen.
UnInstSuccessMessage1031=Das Entfernen wurde erfolgreich abgeschlossen.
InstSuccessMessage1033=Installation operation completed successfully.
ReInstSuccessMessage1033=Configuration completed successfully.
UnInstSuccessMessage1033=Removal completed successfully.
CommonSetupDir=%CommonFilesDir%\Setup%SetupBits%
V_MachineValuesPath=%SoftwareDepotServerName%\Values$\MachineValues\%DomainName%
V_UserValuesPath=%HKLM,"Software\matrix42\Software Depot","HomeServer"%\Values$\UserValues\%UserDomain%
; Maschinenabhängige Variablen
; machine dependent variables
;VM_<Variable>=%%%V_MachineValuesPath%\%ComputerName%.ini,%ComputerName%,<Variable>%%
; Userabhängige Variablen
; user dependent variables
;VU_<Variable>=%%%V_UserValuesPath%\%WindowsUser%.ini,%WindowsUser%,<Variable>%%
; !!! Setzen der entsprechenden ReplaceEnv Befehle für die Variablen im Abschnitt [Product] nicht vergessen!!!
; !!! Don't forget to set the appropriate ReplaceEnv instructions for the variables in the section [Product]!!!

[Prompts]


[Services]

[EventSources]

[Encryption]

[Disks]
1=%Disk1%

[UserKeyNames]

[Icons]
Product=%ProductNameShort%.ico,0,000000,ICON

[Options]
Installer=%InstallerName%,COPYALWAYS,Installer,"%InstallerDesc%"
Product=%ProductName%,COPYALWAYS,Product,"%ProductDesc%"

[OptionDependencies]

[OptionGroups]

[Installer]
1:..\..\..\..\User\Setup.exe,%CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP ,0
1:..\..\..\..\User\SetupDeu.chm,%CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP ,0
1:..\..\..\..\User\SetupEnu.chm,%CommonSetupDir%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP ,0
1:..\..\..\..\User\Mx42SynSem.dll,%System%, OPTIONAL USEFILENAME DIRECTORY NOSIZEWARNING SETUP ,0
1:%SetupInfDir%\Setup.inf,, NORMAL ,0

[FileCheckMachine]
ReplaceENV V_MachineValuesPath
If DoesFileExist ("%V_MachineValuesPath%\%ComputerName%.ini") == "0" Then "FileIsntThere" EndIf

[FileCheckClient]
ReplaceENV V_UserValuesPath
If "%UserDomain%" <> "%ComputerName%" Then "CheckClientFile" EndIf

[CheckClientFile]
If DoesFileExist ("%V_UserValuesPath%\%WindowsUser%.ini") == "0" Then "FileIsntThere" EndIf

[FileIsntThere]
ErrorLogMsg <Error>
Abort

[Product]
;--FileCheckMachine, MACHINE
;--FileCheckClient, CLIENT
;ReplaceEnv <Variable>
--Set:Product,DONTDELETE
--Reg:OnUninstallProduct,DELETE
--Reg:Product,DONTDELETE
--Ini:Product,DONTDELETE
--Security:Product
--Set:Uninstall,DELETE

[Set:Product]
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AA4022A6-900F-4D0D-9CB3-86D52B016D43}") == "1" Then "RepairMSI" Else "InstallMSI" EndIf

[Reg:OnUninstallProduct]

[Reg:Product]

[Ini:Product]

[Security:Product]

[Shell:Installer]
;%ProductName%\%ProductName% Setup, %ReinstallString%
;%ProductName%\%ProductName% %Uninstallation%, %UninstallString%, , , , , 1, ,

[Shell:Product]

[RepairMSI]
AddMeter 50
Call MsiExec /F "%SRC%\pm2007.msi" /qr /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
If DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log") == "0" Then "AbortMSIInst" EndIf

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[InstallMSI]
AddMeter 50
Call MsiExec /I"%SRC%\pm2007.msi" /qr /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
If DoesTextInFileExist ("%InstSuccessMessage1033%", "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log") == "0" Then "AbortMSIInst" EndIf

[AbortMSIInst]
ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%
Abort

[Set:Uninstall]
If DoesTextInFileExist ("%UnInstSuccessMessage1033%","%Temp%\MSI_%ProductName%.%Version%.%Revision%.log") == "0" Then "AbortMSIUnInst" EndIf
-Call MsiExec /X{AA4022A6-900F-4D0D-9CB3-86D52B016D43} /qr /L "%Temp%\MSI_%ProductName%.%Version%.%Revision%.log"
-AddMeter 50

[AbortMSIUnInst]
Abort
-ErrorLogMsg %ErrorLogMessage% ErrorLevel: %ErrorLevel%

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 18. Jul 2006, 16:10

Ich bin etwas weiter !

HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AA4022A6-900F-4D0D-9CB3-86D52B016D43}

Wenn ich diesen Key aus der Registry entferne , funktioniert es einmal.
Nach der Deinstallation habe ich das gleiche Problem wieder. Er versucht also ständig eine Repair-Installation auszuführen, die ( aus welchen Gründen auch immer ) nicht funktioniert.

Was läuft denn da schief ?

Benutzeravatar
Hendrik_Ambrosius
Moderator
Moderator
Beiträge: 7592
Registriert: 13. Dez 2004, 23:10
Wohnort: Adendorf/Lüneburg

Beitrag von Hendrik_Ambrosius » 18. Jul 2006, 18:51

Offensichtlich entfernt das MSI-Paket den Uninstall-Key nicht richtig.
Also entweder das MSI-Paket korrigieren oder generell vor dem Aufruf der MSI-Datei per Empirum-Befehl den o.a. Key löschen ;-)
Hendrik Ambrosius / Senior Consultant
Mobile: +49 172 408 4447 | hendrik.ambrosius@matrix42.com
Matrix42 AG | Elbinger Straße 7 | 60487 Frankfurt am Main | Germany | www.matrix42.com

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of Matrix42 AG or of the support team.

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 19. Jul 2006, 08:14

Ich werde das gleich mal ausprobieren. Aber müsste denn nicht eigentlich
die Repair-Installation wenigstens funktionieren.
Wenn ich das MSI manuell ausführe, funktioniert es doch !?

Benutzeravatar
tlangner
Beiträge: 126
Registriert: 10. Jan 2005, 19:59
Wohnort: Lich, Hessen
Kontaktdaten:

Beitrag von tlangner » 19. Jul 2006, 08:44

Nur eine Vermutung...

Stimmt der ProductCode zur MSI?
Sie schreiben manuell funktioniert alles, wenn der ProduktCode zu einer anderen Anwendung gehört welche schon installiert ist und die Setup.inf läuft ab sagt diese, die Anwendung ist installiert und versucht einen Repair durchzuführen einer Anwendung die ggf. noch nicht installiert ist.
Versuchen Sie doch mal mit einem Echo "Repair" in der Sektion [RepairMSI] und Echo "Inst" in der Sektion [InstallMSI] zu testen.

Manche Anwendungen tragen sich nicht Komplett mit dem ProductCode in der Registry ein, mal schauen ob sich die Anwendung in der Registry unter Uninstall noch mit dem Namen einträgt.

Gruß
T. Langner

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 19. Jul 2006, 09:00

Hallo Herr Langner,

eine sehr gute Idee. Hab ich auch sofort ausprobiert.
Leider, leider liegt es nicht daran. Der ProduktCode
stimmt überein.

Getestet habe ich es , indem ich die Registry bereinigte,
dann das MSI-Paket (per doppelkick) direkt installierte und
den neu eingetragenen Key mit der Setup.Inf verglich.
...Er stimmt überein.

Aber danke für den tollen tip. Das klang wirklich plausibel.

Grüße,
Th. Berzel

berzel
Beiträge: 13
Registriert: 31. Mai 2006, 12:04
Kontaktdaten:

Beitrag von berzel » 19. Jul 2006, 10:52

Ich hab das Problem jetzt so gelöst:

[Reg:OnUninstallProduct]
-HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AA4022A6-900F-4D0D-9CB3-86D52B016D43}

Damit funktioniert es.

Herr Ambrosius, vielen Dank für die Hilfe.

Antworten

Zurück zu „Paketierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste