in src/AzureSqlActionHelper.ts [315:345]
private static async _getSqlPackageInstalledWithDacMsi(): Promise<ISqlPackageInstall> {
let sqlDataTierFrameworkRegKey = path.join('\\', 'SOFTWARE', 'Microsoft', 'Microsoft SQL Server', 'Data-Tier Application Framework');
let sqlDataTierFrameworkRegKeyWow6432 = path.join('\\', 'SOFTWARE', 'Wow6432Node', 'Microsoft', 'Microsoft SQL Server', 'Data-Tier Application Framework');
if (!await AzureSqlActionHelper.registryKeyExists(sqlDataTierFrameworkRegKey)) {
sqlDataTierFrameworkRegKey = sqlDataTierFrameworkRegKeyWow6432;
if (!await AzureSqlActionHelper.registryKeyExists(sqlDataTierFrameworkRegKey)) {
return this._emptySqlPackageInstall();
}
}
let subKeys = await AzureSqlActionHelper.getRegistrySubKeys(sqlDataTierFrameworkRegKey);
let sqlServerRegistryKeys = this._getVersionsRegistryKeys(subKeys);
for(let registryKey of sqlServerRegistryKeys) {
let installDir = await AzureSqlActionHelper.getRegistryValue(registryKey, 'InstallDir');
if (!!installDir) {
let sqlPackagePath = path.join(installDir, 'SqlPackage.exe');
if (fs.existsSync(sqlPackagePath)) {
let sqlPackageVersion = await this._getSqlPackageExecutableVersion(sqlPackagePath);
core.debug(`SqlPackage version ${sqlPackageVersion} (installed with DacFramework) found at location: ${sqlPackagePath}`);
return {
sqlPackagePath: sqlPackagePath,
sqlPackageVersion: sqlPackageVersion
};
}
}
}
return this._emptySqlPackageInstall();
}