diff --git a/packages/core.gbapp/services/GBDeployer.ts b/packages/core.gbapp/services/GBDeployer.ts index 22c47223..28c3feed 100644 --- a/packages/core.gbapp/services/GBDeployer.ts +++ b/packages/core.gbapp/services/GBDeployer.ts @@ -108,6 +108,10 @@ export class GBDeployer implements IGBDeployer { if (min['cacheToken']) { return min['cacheToken']; } else { + + // Get token as root only if the bot does not have + // an custom tenant for retrieving packages. + token = await (min.adminService as any)['acquireElevatedToken'] (min.instance.instanceId, min.instance.authenticatorTenant?false:true); diff --git a/packages/core.gbapp/services/GBImporterService.ts b/packages/core.gbapp/services/GBImporterService.ts index 70122ef6..d3bf55fd 100644 --- a/packages/core.gbapp/services/GBImporterService.ts +++ b/packages/core.gbapp/services/GBImporterService.ts @@ -60,10 +60,18 @@ export class GBImporter { localPath: string, additionalInstance: IGBInstance = null ) { - const settingsJson = JSON.parse(Fs.readFileSync(urlJoin(localPath, 'settings.json'), 'utf8')); - if (botId === undefined) { - botId = settingsJson.botId; + const file = urlJoin(localPath, 'settings.json'); + + let settingsJson = {botId: botId}; + if (Fs.existsSync(file)){ + + settingsJson = JSON.parse(Fs.readFileSync(file, 'utf8')); + if (botId === undefined) { + botId = settingsJson.botId; + } + } + let instance: IGBInstance; if (botId === undefined) { botId = GBConfigService.get('BOT_ID');