Although it's a FAQ I cannot find an answer. I'm trying to create an extension with Basic.
Everything works fine when I pack the stuff with "zip -r foo.oxt ." given that I'm in the right
directory, otherwise the parent dirs are included. But ChDir() is not available anymore in Basic so
I have to go the hard way.
With com.sun.star.packages.Package the zip is always corrupt and cannot be read, even what
PackageFormat is set to false. Any idea how to solve this?
Sub addToZip(oZipPackage, path$, file$)
Dim xInputStream
Dim sDestName As String
Dim oZipPackageStream, oZipPackageFolder
xInputStream=createUNOService("com.sun.star.ucb.SimpleFileAccess").OpenFileRead(convertToURL(path$
& file$))
oZipPackageStream=oZipPackage.createInstance()
oZipPackageStream.setInputStream(xInputStream)
oZipPackageFolder=oZipPackage.getByHierarchicalName("")
oZipPackageFolder.insertByName(file$,oZipPackageStream)
oZipPackage.commitChanges()
End Sub
...
oZipPackage = createUnoService("com.sun.star.packages.Package")
Dim aArg As New com.sun.star.beans.NamedValue
aArg.Name = "PackageFormat"
aArg.Value = True 'plain Zip format
oZipPackage.initialize(Array(oFileDialog.Files(0),aArg))
addToZip(oZipPackage,sTempPath,"/description.xml")
addToZip(oZipPackage,sTempPath,"/config.xcu")
addToZip(oZipPackage,sTempPath,"/META-INF/manifest.xml")
addToZip(oZipPackage,sTempPath,"/palettes/" & sPaletteName & ".soc")
Full code is at http://pastebin.com/e1rt0rSM but for only 1 day.
TIA,
Heiko
--
Dr. Heiko Tietze
UX Designer
Tel. +49 (0)179/1268509
Attachment:
signature.asc
Description: OpenPGP digital signature