I'm using seven zip sharp and am having issues trying to add a file to an encrypted archive. Appending to a non-encrypted archive (with appropriate methods) seems to work, but an encrypted archive throws this following error
Invalid archive: open/read error! Is it encrypted and a wrong password was provided?
If your archive is an exotic one, it is possible that SevenZipSharp has no signature
for its format and thus decided it is TAR by mistake. Message: Can not update the archive:
Open() failed.
I was wondering if anyone else has performed this successfully Here is some sample code im using
void AppendEncFilefile(Stream docstream, string addfilename, string archivename)
{
SevenZip.SevenZipCompressor compressor = new SevenZip.SevenZipCompressor();
compressor.CompressionMode = SevenZip.CompressionMode.Append;
compressor.CompressionLevel = SevenZip.CompressionLevel.Ultra;
compressor.ArchiveFormat = SevenZip.OutArchiveFormat.SevenZip;
compressor.EncryptHeaders = true;
//this fails : trying to pass archive and file to add
compressor.CompressFilesEncrypted(datafile, "password", addfilename);
//this fails : trying to pass stream containg data to be written, and filename to save as
compressor.CompressStreamDictionary(
new Dictionary<string, System.IO.Stream>()
{
{ addfilename, xmldocstream }
}
, archivename, "password");
}
Thanks