clickonce wpf app application path Edit
Many a times we need the application path of the clickonce installed application. From the APIs we can get the datadirectory, usually is
C:\Documents and Settings\\Local Settings\Apps\2.0\Data\ \ \ _ \Data
But you want
C:\Documents and Settings\\Local Settings\Apps\2.0\ \ \ _
truncatedappname is the first four letters of the application name and with 2 dots and the last 4 letters of the application.
So, here is the hack to get the actual path of the app.
private string GetApplicationPath() { string strDataDirectory = ApplicationDeployment.CurrentDeployment.DataDirectory.ToString(); string truncatedappname = "myap..tion"; string strRoot = strDataDirectory.Substring(0, strDataDirectory.IndexOf("2.0") 4); string strLastFolder = strDataDirectory.Substring(strDataDirectory.IndexOf(truncatedappname)); strLastFolder = strLastFolder.Substring(0, strLastFolder.Length – 5); DirectoryInfo dirFirst = new DirectoryInfo(strRoot); DirectoryInfo[] subdirectories = dirFirst.GetDirectories(); foreach (DirectoryInfo dirSecond in subdirectories) { DirectoryInfo[] subdirectories2 = dirSecond.GetDirectories(); foreach (DirectoryInfo dirThird in subdirectories2) { DirectoryInfo[] subdirectories3 = dirThird.GetDirectories(); foreach (DirectoryInfo dirForth in subdirectories3) { if (dirForth.Name == strLastFolder) return (strRoot dirSecond.Name "\\" dirThird.Name "\\" strLastFolder "\\"); } } } }