I'm converting from an Innosetup installer to Wix, and in Innosetup, I'm
using the {app} folder to retrieve files for installation in Outlook
forms.
 
How do I use the Directory path from the Wix setup in the custom action
in vbscript? In Innosetup I was just passing it as a parameter to the 
InstallForms.vbs, but I want to do away with the Main() function, and
just substitute in the CalendaringClient Directory path.
 
This is what I have so far....
<InstallExecuteSequence>

<Custom Action="RemoveForms" After="RemoveFiles">REMOVE="ALL"</Custom>

<Custom Action="InstallForms" Before="InstallFinalize">Install</Custom>

</InstallExecuteSequence>

<CustomAction Id="InstallForms" Script="vbscript" Execute="immediate" >

<![CDATA[

Const olFolderCalendar = 9

Const olPersonalRegistry = 2

Const olText = 1

Const olDiscard = 1

'-----------------------------------------------------------------------
--------

'-----------------------------------------------------------------------
--------

Function InstallField(objApp, iFolder, sField, iType)

Dim objFolder

Dim objItem

Dim objNS

Set objNS = objApp.GetNamespace("MAPI")

Set objFolder = objNS.GetDefaultFolder(iFolder)

Set objItem = objFolder.Items.Add("IPM.Appointment")

objItem.UserProperties.Add sField, iType, True

objItem.Save

objItem.Delete

End Function

'-----------------------------------------------------------------------
--------

'-----------------------------------------------------------------------
--------

Function InstallForm(objApp, sFile, sName)

Dim objForm

Set objForm = objApp.CreateItemFromTemplate(sFile)

If (Err.Number = 0) Then

objForm.Body = ""

objForm.FormDescription.Name = sName

objForm.FormDescription.PublishForm olPersonalRegistry

objForm.Close olDiscard

End If

End Function

'-----------------------------------------------------------------------
--------

'--- I need to substitute the Directory "CalendaringClient" in for the
WScript arguments

'--- instead of using a "Main" function

'-----------------------------------------------------------------------
--------

Main

Sub Main()

If WScript.Arguments.Count > 0 Then

Dim objApp

Dim sFormFolder

sFormFolder = WScript.Arguments.Item(0)

Set objApp = CreateObject("Outlook.Application")

If (Not objApp Is Nothing) Then

InstallForm objApp, sFormFolder & "Appointment.oft",
"Maestro.Appointment"

InstallForm objApp, sFormFolder & "RequestInvite.oft",
"Maestro.RequestInvite"

InstallForm objApp, sFormFolder & "RequestInviteTentative.oft",
"Maestro.RequestInviteTentative"

InstallField objApp, olFolderCalendar, "MeetingID", olText

End If

End If

End Sub

]]>

</CustomAction>

 

 

David Bartmess

Wall Street On Demand 

[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 

direct: 303.417.9999 x585

cell: 303.883-9117

fax: 303.444.2586

 
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to