CSelf XResource

WEBINAR: On-demand webcast

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017 REGISTER >

1. Description

CSelfXResource presents binary resources contained in specified module and extracts them into local file

2. Purpose

Assuming you need special version of the DLL for your program but do not want or cannot install this DLL before your application starts and cannot deinstall this DLL after your application ends. Or you need an output of an other application, but cannot or do not want to install this application before yours. Or you need support from your customized driver, but again cannot or do not want to install and deinstall this driver separately. In any these cases you can use CSelfXResource:

  • developing your application insert needed binary (.DLL, .EXE, .SYS etc.) as custom binary resource in your project
  • instantiate CSelfXResource with resource ID and resource type you assigned to binary(-ies)
  • extract and save the needed resource to local file
  • use this binary as you need
  • on destruction of the CSelfXResource object the local file containing extracted resource will be also deleted

3. Sample

There is small sample application included: one useful utility ListDll.EXE (thanks to Mr. Mark Russinovich www.sysinternals.com) inserted as binary resource. This Application will be extracted on runtime in local file, started, the output will be redirected int output file and the contents of this file will be shown in the main application window.

The same way you can use CSelfXResource for DLL: insert DLL as binary resource, extract into local file on runtime, call LoadLibrary, GetProcAddress and so on.

Also drivers can be used this way: on Win9x - insert VxD into application as binary resource, extract on runtime, and call CreateFile() etc. to load and call the driver. On WindowsNT - insert SYS as binary resource, extract on runtime, call CreateService(), StartService() and call the driver.

...just try!...Sure, the application executable (or DLL - if your application is an DLL) will grow, but for 1-2 binary files this is sometimes preferrable against need to create installation/deinstallation.

4. Credits

Thanks to Dr. Mark Russinovich www.sysinternals.com for tools

5. Contact

For questions and bugfixes use mailto:mike_becker@freenet.de

Downloads

Download demo project - 66 Kb
Download source - 1 Kb


Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Chuze Fitness is a fast-growing fitness chain with over 21 locations spanning California, Arizona and Colorado. Chief information and marketing officer, Kris Peterson, explains why access to fast and reliable Wi-Fi is a "must have" service at their gyms and why they switched to Ruckus Cloud Wi-Fi. Chuze Fitness needed to provide a good user experience to the hundreds of guests streaming music, podcasts and videos as they worked out. They also needed to adequately cover their sprawling 20-40,000 square foot …

  • Testing full recoveries of IT environments requires a proven methodology. Establishing and meeting recovery time objectives (RTOs), configuring a cloud recovery system, and tracking your changing environment are all critical components of a successful cloud recovery operation. It's also important to establish and follow a set of cloud disaster recovery (CDR) best practices. Read this technical guide to learn about these best practices, along with how disaster recovery as a service (DRaaS) can help you complete …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date