The chicken or the egg. How to get current ESE dll's from .msp packages to run Jetstress against without installing Exchange

You want to jetstress some new hardware, but may not be running the latest build of ESE and need to do comprehensive testing with the latest build of ESE to make sure the results are right.

 

The typical approach most people use is to install Exchange, get it patched up and then stop all of the services manually. While this does work, its not exactly guidance and can be a little problematic.

 

Now lets look at our jetstress guidance:

https://technet.microsoft.com/en-us/library/bb643095(v=EXCHG.80).aspx 

 

"Jetstress testing should be performed before you install Exchange on the server. If you have already installed Exchange Server, you should still copy the ESE database modules to the Jetstress installation directory. If you are testing with a different version of Exchange Database Engine than the one installed with Exchange Server, you may have to uninstall the existing Exchange Database Engine counters before you run Jetstress. You can do this by running unlodctr ESE at a command prompt. However, you will still have to uninstall and reinstall the Exchange version of the Exchange Database Engine counters when testing is completed."

 

What can we do about this?

  1. Obtain the latest patch that includes ESE fixes. Specifically we need:
    1. ESE.DLL
    2. ESEPERF.DLL
    3. ESEPERF.INI
    4. ESEPERF.HXX
  2. Download msix from https://hstewart.members.winisp.net/downloads/msix.zip  (source: https://blogs.msdn.com/b/heaths/archive/2006/04/07/571138.aspx)
  3. Run : msix PathtoLatestPackage.msp /out "C:\Directory to output files"
  4. In the output directory, you should now see files such as "PCW_CAB_E12_DAT". Look for the largest file as depending on the version of Exchange, this file name will be different)
  5. Rename PCW_CAB_E12_DAT to PCW_CAB_E12_DAT.CAB
  6. Double click the cab to access the .dll's
  7. Copy the files needed to the appropriate Jetstress directory