User (Old forums)MemberNovember 3, 2010 at 11:52 amPost count: 23064
We have recently upgraded our app to .net 4.0. Our app was previously using XCeed 3.6.xxxx with .NET 2.0. We expereicned issues using the old version of XCeed in .net 4.0 so we decided to upgrade to XCeed zip V5.0.
Unzipping some files on my dev machine seemed to work fine, however when testing on a VM with Windows XP I would get the error:
System.Reflection.TargetInvocationException: Xceed.Compression.PPMd.dll must be referenced as Copy Local in order to use PPMd CompressionMethod —> System.NullReferenceException: Object reference not set to an instance of an object.
at Xceed.Compression.ManagedPPMdDecompressor..ctor(Assembly ppmdAssembly)
I noticed that the PPMD assembly requires a C++ dependency. After installing Microsoft Visual C++ 2010 Redistributable Package (x86),
on the XP VM I am now able to properly de-compress the files our app uses.
On the old version of XCeed I didn’t appear to need any external C++ installation. If I reflect on the old version I don’t see any COM dependencies, but in the new version I see MSVCR100.dll Why do we need it in this version? Is there any way to use the PPMD without it? What are my options for deployment? Is there some sort of side-by-side deployment for MSVCR100.dll? Is there a way to link in MSVCR100.dll with the XCeed.Compressoin.PPMd.V5.0.dll?
Thanks in advanced
Imported from legacy forums. Posted by Gary (had 2814 views)User (Old forums)MemberNovember 3, 2010 at 3:34 pmPost count: 23064
After reading up on C++ 2010 deployment it sounds like there are enhancements to the 2010 run-time that allow for a local side by side type deployment. http://msdn.microsoft.com/en-us/library/dd293574.aspx.
So I tried copying the msvcr100.dll to the local directory where I was running the app, and the PPMd compression still won’t work (without installing C++ 2010 redistributable).
Imported from legacy forums. Posted by Gary (had 441 views)Xceed SupportMemberNovember 8, 2010 at 9:57 amPost count: 5658
Hi Gary,The PPMd compression is implemented in C++ as such, it needs the C run-time library DLL to be located on the target system.
Older versions of the library were compiled with Visual Studio 2005 or 2008, which most likely used a MSVCRxxx.dll that is installed by default with Windows.
Version 5.0 of our component is compiled with Visual Studio 2010, which used MSVCR100.dll that is not installed by default with Window XP of course. That’s why you needed to install it manually.
There is no workaround for this.
We don’t like the C++ implementation either. We have medium term plans to replace the C++ PPMd with a 100% managed implementation.
Imported from legacy forums. Posted by Alain [Xceed] (had 267 views)User (Old forums)MemberNovember 8, 2010 at 10:06 amPost count: 23064
Is there a release schedule for the 100% managed implementation of PPMd?
Do you have any easy recommendations on a side-by-side type deployment of msvcr100.dll?
Imported from legacy forums. Posted by Gary (had 398 views)Xceed SupportMemberNovember 11, 2010 at 3:46 pmPost count: 5658
Hi Gary,Here is the answer from our lead Zip developer:There is no release schedule for the managed PPMd.
It is for sure in our development plans for 2011 as the C++ implementation is causing more and more headaches and is keeping us from having PPMd support on other platforms like Silverlight.
I tried modifying the existing code today to remove the dependency on MSVCR100.dll but I couldn’t.
I’m not sure what you mean by side-by-side type deployment of msvcr100.dll. msvcr100.dll is a free, official download from Microsoft. It’s a standard DLL dependency that’s loaded by Windows when PPMd is used. You could place the DLL in the same directory as your application or you could place it in %Windows%\system32.
Imported from legacy forums. Posted by Alain [Xceed] (had 381 views)User (Old forums)MemberNovember 14, 2010 at 2:56 pmPost count: 23064
Hello to everybody,
I’d like to evalutate this library and especially PPMd but I saw about VC++ dependency. My question is: if I develop a web service which uses this library and this web service willl be hosted on board of a 64bit Windows, will my web service run and use correctly your library (Xceed.Compression.PPMd.dll)?
Imported from legacy forums. Posted by Tommy (had 806 views)
- You must be logged in to reply to this topic.