in src/AzureSqlActionHelper.ts [224:259]
private static async _getSqlPackageInstalledWithSSDT(): Promise<ISqlPackageInstall> {
let visualStudioInstallationPath = await this._getLatestVisualStudioInstallationPath();
if (!!visualStudioInstallationPath) {
let dacParentDir = path.join(visualStudioInstallationPath, 'Common7', 'IDE', 'Extensions', 'Microsoft', 'SQLDB', 'DAC');
let sqlPackageInstallationPath = this._getSqlPackageInVSDacDirectory(dacParentDir);
if (!!sqlPackageInstallationPath[0]) {
return sqlPackageInstallationPath;
}
}
// locate SqlPackage in older versions
let vsRegKey = path.join('\\', 'SOFTWARE', 'Microsoft', 'VisualStudio');
let vsRegKeyWow6432 = path.join('\\', 'SOFTWARE', 'Wow6432Node', 'Microsoft', 'VisualStudio');
if (!await AzureSqlActionHelper.registryKeyExists(vsRegKey)) {
vsRegKey = vsRegKeyWow6432;
if (!await AzureSqlActionHelper.registryKeyExists(vsRegKey)) {
return this._emptySqlPackageInstall();
}
}
let subKeys = await AzureSqlActionHelper.getRegistrySubKeys(vsRegKey);
let vsVersionKeys = this._getVersionsRegistryKeys(subKeys);
for (let vsVersionKey of vsVersionKeys) {
let vsInstallDir = await AzureSqlActionHelper.getRegistryValue(vsVersionKey, 'InstallDir');
let dacParentDir = path.join(vsInstallDir, 'Common7', 'IDE', 'Extensions', 'Microsoft', 'SQLDB', 'DAC');
let sqlPackageInstallationPath = this._getSqlPackageInVSDacDirectory(dacParentDir);
if (!!sqlPackageInstallationPath[0]) {
return sqlPackageInstallationPath;
}
}
core.debug('Dac Framework (installed with Visual Studio) not found on machine.');
return this._emptySqlPackageInstall();
}