Solution
Microsoft Windows 7 and Windows Vista include User Account Control settings that specify the privileges applications have when run by particular users. If User Account Control settings are enabled for a particular user, then that user will typically be prompted when running an installer to enable the installer to run as administrator.
Measurement Studio does not include instructions in the installer built by Visual Studio to elevate every operation the installer takes to have administrator privileges. If these instructions were in the installer, the installer would prompt the user for administrator privileges before running. Instead, the installer runs certain tasks without administrator privileges, causing operations such as editing the registry to fail.
An installer with administrator privileges will add registry entries that contain paths to the libraries necessary for your application to run properly. If the registry entries are not added, your application will not be able to locate all of its dependent libraries. The application may still run, but could experience various problems.
To resolve this issue, add one of the merge modules attached below to your Visual Studio setup project. If you are building a 32-bit distribution, you should add
MStudioUtils.msm. If you are building a 64-bit distribution, you should add
MStudioUtils_x64.msm.Note: There are many symptoms that can occur as a result of running the installer without proper administrative privileges. Common errors relating to this issue include:
- The path to the Measurement Studio libraries that may be used in your application is stored in the registry during installation. Since the application cannot locate these, you may receive an error message such as
Unable to load DLL 'nianlys.dll': The specified module could not be found.
- Measurement Studio 3D Style controls require MESA.DLL so that they can be rendered properly. If the application cannot find this library it may still run, but any user interface controls that use a 3D Style will not be rendered at run time.