ich hab jetzt mal versucht, die registriesuche als script zu realisieren.
standalone funktioniert das auch. aber im msi wird die datei nicht ausgeführt
----------------------------------------------------
listing: von test.vbs
Option Explicit
' Connect to Windows Installer object
On Error Resume Next
Dim installer : Set installer = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer") : CheckError
Dim oWSHShell, sWert, iWert, IResult
Set oWSHShell = WScript.CreateObject("WScript.Shell")
sWert = oWSHShell.RegRead("HKLM\Software\xxx\yyy")
' versionsüberprüfung
if (swert >= "5.0") then
iWert = 1
Wscript.Echo sWert
' Wscript.Quit 1
'1
' msiDoActionStatusSuccess
else
iWert = 0
Wscript.Echo "hallo"
' Wscript.Quit 0
end if
' wert in proberty setzen
IResult = MsiSetProberty(hMSI, "WERT", iWert)
if (IResult = ERROR_SUCCESS) then
' 0
' msiDoActionStatusNoAction
Wscript.Quit 0
else
' 1
' msiDoActionStatusSuccess
Wscript.Quit 2
end if
Sub CheckError
Dim message, errRec
If Err = 0 Then Exit Sub
message = Err.Source & " " & Hex(Err) & ": " & Err.Description
If Not installer Is Nothing Then
Set errRec = installer.LastErrorRecord
If Not errRec Is Nothing Then message = message & vbNewLine & errRec.FormatText
End If
Wscript.Echo message
Wscript.Quit 2
End Sub
-----------------------------------------------------------------
wie gesagt, dat luppt.
einstellung in tabellen:
binary table
fkt1 | [bin data] (datei ist wirklich geladen)
custom action
action | type | source
Fkt2 | 19 |
Start | 6 | Fkt1
installuisequenz
action | condition | sequence
Fkt2 |NOT WERT | 2 --> nur zum test
Start 1 --> sollen ja als erstes ausgeführt werden
proberty
WERT | 0
logmeldungen besagen, das korrekt ausgeführt wurde (keine fehler)
wo ist denn hier der wurm begraben?
wäre nett wenn mir jemand helfen könnte, bevor ich keine haare mehr habe
schon mal danke
Edited by sven, 15 April 2004 - 14:15.