AppDomain.CurrentDomain.GetData("DataDirectory") always returns Null

PAUL DUFRESNE picture PAUL DUFRESNE · Sep 5, 2012 · Viewed 9k times · Source

In my program, I need to copy a template database from the default location, which I understand will be different depending on the installer I choose to use. The problem is that I can't seem to read the actual path of |DataDirectory| I understand that I should use AppDomain.CurrentDomain.GetData("DataDirectory") but it always returns Null in debugger which means I can't test my code. I've tried the following two syntaxes:

string sourcePath = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();

and

string defaultpath = Convert.ToString(AppDomain.CurrentDomain.GetData("DataDirectory"));

Am I doing something wrong?

ThanX!

Answer

Aghilas Yakoub picture Aghilas Yakoub · Sep 5, 2012

Try with APPBASE

AppDomain.CurrentDomain.GetData("APPBASE")

http://msdn.microsoft.com/en-us/library/system.appdomainsetup.applicationbase.aspx

If you want DataDirectory key you must execute before SetData