Service Explorer Plugin
Re: Service Explorer Plugin
OK...got it working in both 2.51 & 2.52
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
Mike, It would be probably problem with MSVC 2008 (I'm not 100% sure) to link against salrtl.dll (comes from MSVC 6.0).Mike12345 wrote:Whoops, soory.
I will try to change the rtl in the next update.
If you will find way how to do it, please let us know.
It is definitely possible with MSVC 2005 because Zarevak did it with DiskMap plugin.
We plan to switch Altap Salamander to MSVC 2008 and use latest RTL.
At the same time we will probably drop W9x (and NT4) support and introduce x64 version of Salamander.
Unfortunately it will take some time.
Re: Service Explorer Plugin
I like your thinking Jan. Though I can see this PlugIn to be very useful, it will have limited use do to the fact that it needs another piece of software installled....especially when I use Salamander as a portable version.
-
- Plugin Developer
- Posts: 216
- Joined: 09 Dec 2005, 23:23
- Location: Ceske Budejovice, Czech Republic
- Contact:
Re: Service Explorer Plugin
Maybe Mike could link to CRT statically and thus effectively eliminating the dependency on dynamic CRT that needs to be installed in side-by-side cache.
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
The only drawback would be larger plugin, until we will switch to MSVC 2008 Compiler/RTL with Salamander.
-
- Plugin Developer
- Posts: 216
- Joined: 09 Dec 2005, 23:23
- Location: Ceske Budejovice, Czech Republic
- Contact:
Re: Service Explorer Plugin
That's arguable. When linking statically just functions actually used by a module are linked in. For example in TC proxy this adds roughly 100K to the resulting file. On the other hand the whole msvcrXX.dll is more than 600K in size that has to be mapped into the virtual address space of the process.Jan Rysavy wrote:The only drawback would be larger plugin, until we will switch to MSVC 2008 Compiler/RTL with Salamander.
Another possible solution could be use of the private side-by-side assembly in the application's local folder.
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
Only +100K? In that case it's a no brainer.
Re: Service Explorer Plugin
Unfortunatly i think this would be the best/fastest solution.
The problem is VC2005/2008 uses different exception handling (and other features like the "__cxxFrameHandler3" function) which
doesn't exist in vc6. Therefore you get unresolved externals if you try to links against the normal salrtl.dll.
After digging around i found different approaches to overcame this problem (as described here, here or here) but this means a little work.
As for now i will try to offer the plugin with a static linked crt. 100k+ is not that much nowadays.
Nevertheless i will try to search and implement a better solution for this problem.
Thanks you for the heads-up, manison.
The problem is VC2005/2008 uses different exception handling (and other features like the "__cxxFrameHandler3" function) which
doesn't exist in vc6. Therefore you get unresolved externals if you try to links against the normal salrtl.dll.
After digging around i found different approaches to overcame this problem (as described here, here or here) but this means a little work.
As for now i will try to offer the plugin with a static linked crt. 100k+ is not that much nowadays.
Nevertheless i will try to search and implement a better solution for this problem.
Thanks you for the heads-up, manison.
-
- Plugin Developer
- Posts: 216
- Joined: 09 Dec 2005, 23:23
- Location: Ceske Budejovice, Czech Republic
- Contact:
Re: Service Explorer Plugin
I tried linking against msvcrt.dll using WDK build environment but it's definitely not worth the effort. Who cares about few hundreds kilobytes today. Moreover we'll switch to salrtl in near future.
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
It looks like Side-by-Side assemblies are not supported on Windows prior to XP. So it doesn't look like option for us right now.manison wrote:Another possible solution could be use of the private side-by-side assembly in the application's local folder.
Statically linked VC2008 RTL is way to go...
-
- Plugin Developer
- Posts: 216
- Joined: 09 Dec 2005, 23:23
- Location: Ceske Budejovice, Czech Republic
- Contact:
Re: Service Explorer Plugin
Since DLL loader prior Windows XP is not aware of manifests, copying CRT on search path should be enough. Just putting CRT into the directory from which the application loaded along with the manifest should do the trick on both Windows prior XP (ignoring the manifest) and XP+ (taking the manifest into account). However I did not test this presumption.Jan Rysavy wrote:It looks like Side-by-Side assemblies are not supported on Windows prior to XP. So it doesn't look like option for us right now.
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
You are right! This is a way how SALRTL.DLL works now (for plugins). My bad.
Re: Service Explorer Plugin
A new version is available.
Download from first post.
Code: Select all
Version 0.0.6 (08.09.2009)
-------------------------
+ changing the startupmode is now supported
* RTL is now statically linked
-
- ALTAP Staff
- Posts: 5231
- Joined: 08 Dec 2005, 06:34
- Location: Novy Bor, Czech Republic
- Contact:
Re: Service Explorer Plugin
Thank you!
Mike, could you please add some information into the package?
1. Your copyright and contact info
2. License (FREE?)
3. What Altap Salamander versions are supported
4. Install / Uninstall procedure
See for example Manison's TC Proxy plugin as inspiration.
Mike, could you please add some information into the package?
1. Your copyright and contact info
2. License (FREE?)
3. What Altap Salamander versions are supported
4. Install / Uninstall procedure
See for example Manison's TC Proxy plugin as inspiration.