Install Citrix APPDNA with QuickDB on a non-system drive

Author: Ingmar Verheij

There are two installers available for Citrix AppDNA (former App-DNA Apptitude). Depending on how big of a download you want to obtain and distribute internally, you can choose any of those two. Both installers will result in the same product:

  • AppDNA Enterprise Edition [288MB]
  • AppDNA Enterprise Edition with Quick DB Install [659MB]

The main difference between the two installers is that the ‘with Quick DB install’ includes a database dump of OS images, where you otherwise would have to download and import the OS images manually (which will take around 2 hours).

Database size

Citrix estimates that a base database (with no applications) requires around 3GB of disk space, adding the applications will cause the database to increase. 10GB is reasonable but needs to be considered.Microsoft SQL Server Express (limited to 10GB databases) can be used in a PoC environment.  Source: Citrix AppDNA 6.1 presentation.

 

PoC

I was setting up a demo environment so I choose the ‘with Quick DB Install’ and installed the product on a secondary drive (the system drive wouldn’t have enough free space. All SQL databases are stored on the E: drive.

 

An error occurred

During the installation part where the Quick database is restored I got the error “”Restoring the Quick database failed” and then the installation stopped.

Citrix AppDNA environment - An error occurred

This error message isn’t very informative (but does give a hint) so I figured out how to enable verbose logging of the installation proces (Howto: Citrix AppDNA installation logfiles). In the AppTitudeBusinessLogicVerboseLog.txt  log file the following error was recorded:

11-7-2012 14:17:57: Restoring db: RESTORE DATABASE [AppDNA]
                                                FROM DISK = 'E:\Program Files (x86)\Citrix\AppDNA\Server\Bin\AppDNA.tmp'
                                                WITH REPLACE
                                                 timeout: 6000
11-7-2012 14:17:57: ExecuteScalarNoTran connection string: Data Source=SERVER01;Initial Catalog=master;Integrated Security=False;Persist Security Info=False;User ID=AppDNA;Enlist=False;Pooling=False;Connect Timeout=15;Application Name="AppDNA Configuration Wizard"
11-7-2012 14:17:59: Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA.mdf" failed with the operating system error 3(The system cannot find the path specified.).
File 'AppDNA' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA.mdf'. Use WITH MOVE to identify a valid location for the file.
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA_log.LDF" failed with the operating system error 3(The system cannot find the path specified.).
File 'AppDNA_log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA_log.LDF'. Use WITH MOVE to identify a valid location for the file.
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
RESTORE DATABASE is terminating abnormally.
11-7-2012 14:17:59: AppDNA.ASM.Common.Exceptions.ASMException: Restoring the Quick database failed. ---> AppDNA.ASM.Common.Exceptions.ASMException: Restoring the Quick database failed. ---> System.Data.SqlClient.SqlException: Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA.mdf" failed with the operating system error 3(The system cannot find the path specified.).
File 'AppDNA' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA.mdf'. Use WITH MOVE to identify a valid location for the file.
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA_log.LDF" failed with the operating system error 3(The system cannot find the path specified.).
File 'AppDNA_log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppDNA_log.LDF'. Use WITH MOVE to identify a valid location for the file.
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
RESTORE DATABASE is terminating abnormally.
   at AppDNA.ASM.SystemCheck.Database.ExecuteScalarNoTran(DatabaseConfig db, String aSQLStatement, Boolean throw_exceptions)
   at AppDNA.ASM.SystemCheck.Database.RestoreDatabaseFromStockBackup(DatabaseConfig db)
   --- End of inner exception stack trace ---
   at AppDNA.ASM.SystemCheck.Database.RestoreDatabaseFromStockBackup(DatabaseConfig db)
   at AppDNA.ASM.SystemCheck.Database.CreateQuickDb(DatabaseConfig db)
   at AppDNAConfigurationWizard.DataClasses.DatabaseDataDoer.Run()
   --- End of inner exception stack trace ---
   at AppDNAConfigurationWizard.DataClasses.DatabaseDataDoer.Run()
   at AppDNAConfigurationWizard.DataClasses.ConfigurationDataDoer.TaskWorker(AsyncOperation async, CancelInfo asyncContext, Boolean& cancelled)

 

Apparently (after the AppDNA database is created) it tries to restore the content from the %InstallationFolder%\Server\Bin\AppDNA.tmp to C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA. Since the database is stored in E:\MSSQL\DATA, this won’t work.

Helping the installer

You can help the Citrix AppDNA installer by restoring the database manually (to the proper location). After you’ve restored the database successfully the installation will detect the database and will upgrade the database.

 

 

You can restore the database via Transact-SQL using the RESTORE command with MOVE and REPLACE option:

RESTORE DATABASE [AppDNA]
FROM DISK = N'E:\Program Files (x86)\Citrix\AppDNA\Server\Bin\AppDNA.tmp'
WITH MOVE N'AppDNA' TO N'E:\MSSQL\DATA\AppDNA.mdf',
MOVE N'AppDNA_Log' TO N'E:\MSSQL\LOG\AppDNA_log.ldf',
REPLACE

If you’re using the Microsoft SQL Server Management Studio don’t forget to select a different database then the AppDNA database (default is master), otherwise the database would be in use. The restore will (probably) be completed within a minute.

Was once an enthusiastic PepperByte employee but is now working at Citrix. His blogs are still valuable to us and we hope to you too.