Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

ERROR_DIRECTORY bei MsiSetTargetPath


2 replies to this topic

Franz901

Franz901
  • Full Members
  • 15 posts

Posted 26 April 2007 - 15:52

Hallo.

Ich versuche ein Template zu erstellen, welches das Installationsverzeichnis via CustomAction setzt.

Version: InstallShield 12 SP2 Basic MSI Project

Release
Required Execution Label Administrator
Sign Media Windows Installer package only

INSTALLDIR (Default= [ProgramFilesFolder] )

Custom Action CA_Initialize
Function Name Initialize
In-Script Execution Immediate Execution
Execution Scheduling Execute only once

Install UI Sequence After CostFinalize
Install UI Condition (not REMOVE)

Install Exec Sequence After CostFinalize
Install UI Condition (not REMOVE)


CA Initialize

// ProductDir wird zur Laufzeit generiert
// INSTALLDIR wird nur gesetzt, wenn nicht via CommandLine übergeben

MsiSetTargetPath( ISMSI_HANDLE, "INSTALLDIR", ProgramFilesFolder ^ ProductDir );

msiexec /i xx.msi funktioniert prächtig.

msiexec /i xx.msi /qn funktioniert nicht.

- verwende ich WINDISK ^ ProductDir -> ERROR_SUCCESS
- verwende ich WINDIR ^ ProductDir -> ERROR_DIRECTORY
- verwende ich PROGRAMFILES ^ ProductDir -> ERROR_DIRECTORY

--------------------------------------------------------------------

Die Probleme treten ausschließlich im unattended Mode unter Vista auf.
Unter Win2k, WinXp, win2003 funktioniert es immer.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 April 2007 - 17:19

Sieht nach Rechteproblem aus:
QUOTE
MsiSetTargetPath fails if the selected directory is read only.

Unter Vista hast du (auch als Admin) keine Schreibrechte Im Windows oder Programme Ordner. Und im Slent Modus wird auch kein UAC Prompt angezeigt. Um das zu verifizieren starte doch mal eine Eingabeaufforderung mit Adminrechten (Start > Rechtsklick auf Eingabeaufforderung > Als Administrator ausführen) und starte von dort dein Setup.

Franz901

Franz901
  • Full Members
  • 15 posts

Posted 02 May 2007 - 09:20

Vielen Dank Stefan.

Das run as administrator war das Problem.

Interaktiv wird - auch bei abgeschaltetem UAC - die Installation mit administrativen Rechten durchgeführt.
Im Silent-Mode nur dann, wenn der Command Prompt im administrativen Kontext läuft.
...egal, wie das Flag ALLUSERS gesetzt ist...