The installation of PME 8.2 or upgrade to PME 8.2 fails at the 'Create Database' and 'Verify Database' steps. None of the databases get created. This will occur if SQL Server Management Studio (SSMS) v17.x has been installed. This problem is independent of the SQL Server version being used. The problem occurs because version 17 of SSMS installs sqlpackage.exe in the \140\DAC\bin folder, and this is not where the PME installer expects it to be. This new version of SSMS is compatible with older versions of SQL Server, so this problem is not confined to those using SQL Server 2016.
Product Line
Power Monitoring Expert (PME) 8.2
Environment
Installation
Resolution
New Installs
CASE 1: You have tried to install PME 8.2 and the installer has failed at the Create Database and Verify Database steps.
- Shut down the installer
- Go to Control Panel -> Programs and Features and uninstall 'Microsoft SQL Server Data-Tier Application Framework (x86)' - see attached screen cap
- Browse the PME 8.2 DVD to the Setup\Setup[Support\Database directory and double-click on DACFramework.msi
- Start the PME Installer and choose 'Reconfigure'.
- The Reconfigure will create the databases and do all the necessary configuration steps
- Once the Reconfigure is complete, close the installer, go to Programs and Features, right click on Power Monitoring Expert -> Change - > Reset Accounts
- You only have to reset the supervisor account.
CASE 2: You have not yet run the PME 8.2 installer
Before running the PME 8.2 installer
- Go to Control Panel -> Programs and Features and uninstall 'Microsoft SQL Server Data-Tier Application Framework (x86)'
- Browse the PME 8.2 DVD to the Setup\Setup[Support\Database directory and double-click on DACFramework.msi
Upgrades
CASE 1: You have tried to upgrade to PME 8.2 and the installer has failed at the Create Database and Verify Database steps
- Go to Control Panel -> Programs and Features and uninstall 'Microsoft SQL Server Data-Tier Application Framework (x86)'
- Browse the PME 8.2 DVD to the Setup\Setup[Support\Database directory and double-click on DACFramework.msi
- If the Installer window is still active, choose 'Try Again', if not restart the installer and choose 'Resume'
Once this is done, PME will upgrade successfully.
CASE 2: You have not yet run the PME 8.2 installer
Before running the PME 8.2 installer
- Go to Control Panel -> Programs and Features and uninstall 'Microsoft SQL Server Data-Tier Application Framework (x86)'
- Browse the PME 8.2 DVD to the Setup\Setup[Support\Database directory and double-click on DACFramework.msi
Once this is done, PME will upgrade successfully.
Additional Information
The issue is not with the SQL Server database engine, but rather with the recent version of SQL Server Management Studio (SSMS). SQL Server Management Studio is a tool that is compatible with multiple versions of SQL Server and includes a number of tools, including the DAC components. The DAC components are invoked from SSMS in the import and export of DacPac files, which is what PME uses to create and upgrade databases. Recently, Microsoft released a new version of SQL Server Management Studio, moving from version 16.53 to 17.x. Version 17 uses SQL Server 2017 (not yet released) SQL compatibility 140 instead of 130. Because the PME installer sees SQL Server 2016, it expects SQL Compatibility 130 and therefore it looks for sqlpackage.exe in the \130\DAC directory. Since it is not there, the database creation and thus the PME install fails.
A new SQL Server 2016 SP1 install will direct you to install v17.x of SSMS. If you have an older version of SQL Server, if is possible to upgrade SSMS to v17.x. It is a free download. However if SSMS v17.x is installed, both new PME 8.2 installs, and upgrades to PME 8.2 will fail. PME uses sqlpackage.exe to create and upgrade databases.
PME 8.2 installer is looking to use and access Sqlpackage.exe from the following folder
C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\
however the latest version of SQL server 2016 SP1, the Management Tools installer places this new version of Sqlpackage.exe in
C:\Program Files (x86)\Microsoft SQL Server\140\DAC\bin\
Since Sqlpackage.exe is where the installer expected, none of the databases will be created. You will see an error like:
" RunExcutable encountered a problem running process for command C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\sqlpackage.exe /Action:Script
System.ComponentModel.Win32Exception (0x800040005): The system cannot find the file specified "
It is possible to edit one of the installer broker files - 'database.core.broker' xml - file to have the correct path. Once that broker file is updated, you can re-run the installer and it will complete that step successfully. However, even though PME 8.2 installs, Database Manager will not function correctly, since it also uses sqlpackage.exe. This is not the recommended workaround.
Related Issues
If Power Monitoring Expert 8.2 is installed on a server using SQL Server 2016, and SQL Server Management Studio is subsequently upgraded to v17.x, Database Manager will no longer function normally.
If SQL Server Management Studio is upgraded to v17.x on any PME system with any SQL Server version, the 'Reconfigure' function of the PME installer will fail on any of the steps requiring database interaction.
To correct both of the above issues:
- Go to Control Panel -> Programs and Features and uninstall 'Microsoft SQL Server Data-Tier Application Framework (x86)'
- Browse the PME 8.2 DVD to the Setup\Setup[Support\Database directory and double-click on DACFramework.msi