Don't know if anybody posted this before....I know there has been a lot of discussion on this subject and I don't want to start a new one.
Last week I had to install DNN on a shared hosting server. I used the Helm control panel on the server (it has a button instal DNN) so I thought everything would be fine, but when I tried to install some extra modules, I got the "Could not find a part of the path
I had a deadline last week and couldn't change hosting company, so I had to solve the problem...
The hoster advised me to go look for a modified version of DNN, but I refuse to do so.The best solution: find a hoster that does give you the right permissions, if this is somehow impossible: try my solution. (I guess it will not work in all cases)
-FTP access to your site.
-A local server to test (same DNN version as the live site)Problem Description
(please correct me if I'm wrong):
During DNN install / New Module upload / some other site functions you get this error:
ExceptionSystem.IO.DirectoryNotFoundException: Could not find a part of the path "E:\". at System.IO.__Error.WinIOError(Int32 errorCode, String str) at System.IO.Directory.InternalCreateDirectory(String fullPath, String path) at System.IO.Directory.CreateDirectory(String path) at DotNetNuke.Modules.Admin.ResourceInstaller.PaDnnInstallerBase.CreateModuleFile(PaFile File, PaFolder Folder) at DotNetNuke.Modules.Admin.ResourceInstaller.PaDnnInstallerBase.CreateFiles(PaFolder Folder) at DotNetNuke.Modules.Admin.ResourceInstaller.PaDnnInstallerBase.Install(PaFolderCollection folders) at DotNetNuke.Modules.Admin.ResourceInstaller.PaInstaller.Install()
This is due to the fact that a .NET function that creates a new directory, checks from the root up if the folder(s) already exists.
Let's say your site is located in this folder (on the Hosters servers HDD) E:\mydomain.
A lot of hosters only give you rights on the "mydomain" folder none on the root (E:\).
So the ".NET Create Directory" function just doesn't have any rights E:\ and fails.
You can ask the hoster to change this but mostly they will not do this. If you should / can change to a hoster that does give you the right permissions, or try this:"Solution"
Since the error only appears if DNN/.NET tries to create a folder that doesn't exist, simply avoid this by creating the folders through FTP.For Skin packages:
Create or "upload" your skins to the Local server and copy (FTP) the folders to the live server, with the "skin.ascx" files.
Login as host > skins > Parse skin package, for all the skins before you upload the fodlers to the live server.Extra modules:
Install the module on the local server and note all the folders that are shown at the bottom ("StartJob Creating files") of the install report.
Using FTP, check on the live server which ones don't exist yet and create them.
Then run the module install on the Live server.Installation:
I didn't try this but I guess you could do it like this:
1. Install DNN on the test server.
2. Make a copy of the install folder.
3. Do a search in the copied folder for *.*
4. Delete everything that's not a folder
5. Upload this empty folder structure to the live server.
6. Upload the DNN install files over these folders.
(first adjust web.config etc)
7. Run the install
Hope this helps...