0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
| | Private oIntHandler As object, oProgHandler As Object
Private oCmdEnv As Object
Sub Main
oPMF = GetDefaultContext().getByName( _
"/singletons/com.sun.star.deployment.thePackageManagerFactory" )
' get package manager for user context
oPM = oPMF.getPackageManager("user")
oAC = oPM.createAbortChannel()
oCmdEnv = CreateUnoListener( "CmdEnv_", _
"com.sun.star.deployment.XCommandEnvironment" )
oIntHandler = CreateUnoListener( "IntHandler_", _
"com.sun.star.ucb.XProgressHandler" )
oProgHandler = CreateUnoListener( "Prog_", _
"com.sun.star.ucb.XProgressHandler" )
sNewPackageURL = "file:///E:/usr/new.oxt"
sID = "mytools.new.Test"
' パッケージの削除
'oPM.removePackage(sID, "", oAC, oCmdEnv)
oPkg = nothing
'oPkg = oPM.getDeployedPackage(sID, "", oCmdEnv)
If NOT IsNull(oPkg) Then
aState = oPkg.isRegistered(oAc, oCmdEnv)
If aState.IsPresent Then
If NOT aState.Value.Value Then
' 有効化
oPkg.registerPackage(oAc, oCmdEnv)
Else
' 無効化
'oPkg.revokePackage(oAc, oCmdEnv)
End If
End If
End If
'exit sub
'aTypes = oPM.getSupportedPackageTypes()
'On Error GoTo DEHandler
' インストール
oNewPkg = oPM.addPackage( sNewPackageURL, "", Null, Null)'oAC, oCmdEnv )
If NOT IsNull(oNewPkg) Then
oNewPkg.checkPrerequisites( oAC, oCmdEnv, False, "user" )
aStatus = oNewPkg.isRegistered( oAC, oCmdEnv )
End If
exit sub
'DEHandler:
msgbox "deployment exception: " & Error
End Sub
Sub CmdEnv_getInteractionHandler()
CmdEnv_getInteractionHandler = oIntHandler
End Sub
sub CmdEnv_getProgressHandler()
CmdEnv_getProgressHandler = oProgHandler
end sub
sub IntHandler_handle( Reque )
end sub
sub Prog_push( status )
end sub
sub Prog_update( status )
end sub
sub Prog_pop()
end sub
|