Tony Henrich wrote:
cathal connolly wrote:
FYI the source package is not installable by default - you must compile in release mode to build the various dlls for the project (this allows vs.net to optimize them for your os version/.net version and whether it is 32 or 64bit) - there are some notes on this at
http://www.dnnsoftware.com/wiki/page/...
I am back to this because I installed the 7.3 from the source code and got the divide by zero error. I remembered that I had to copy the install zip first.
Anyway, the link mentioned is outdated and doesn't include the stuff Cathal pointed out. It doesn't mention you have to compile in release mode. In fact you don't have to. My 7.2.2 installation is based on the source package and all the projects are in debug mode. Why do you have to build in release mode? Debug or release mode create the same assemblies. Optimizations doesn't affect how DNN works. The wiki page is also outdated because it doesn't mention dnndev.me. DotNetNuke_Community_2008 & DotNetNuke_Community.sln don't exist anymore.
There's no mention anywhere on this site what is actually the source of the divide by zero error. Just what the workaround is.
Last, whether the installation had errors or was successful, the installation page always says 'No Installation Log'. Not helpful!
release and debug do NOT do the same thing - they are separate configurations intended for different usages. When you build in release mode, all the projects are compiled, but in addition the MSbuild tasks are triggered which package the modules and copy them into the website "install" folders. In addition, any "external" packages such as DDRmenu are also copied across i.e. "release" mode ensures that the website folder contains a site ready to be installed. Finally, "release" mode copies release.config to create the web.config file.
When you use "debug" mode, the projects are compiled, and the project assemblies are copied across to the "website" folder i.e. the dll's not the zip file installs. "debug" mode copies development.config to create the web.config file.
Both configurations also create pdb debug files and copy those over.
The 35% error is causing by someone hitting the site and treating it as a fresh install (i.e one created by "release" mode) when in fact it does not contain expected (dependant) packages (as it was only compiled in "debug" mode) e.g. it doesn't contain DDRmenu for a start so even if it completed you would not have a menu.
This is why when you use a source package you must build in "release" mode to ensure all the *.zip and *.resources files are in the website/install folder structure otherwise the installer hits a point that it expects something has been installed and it has not -AFAIR the installer has passed the point where it installs all the *.zip files from the install/modules folder and assumes that the html module will be installed and attempts to add html content and borks as it cannot find the html module as expected.
Most of the engineers who work with the solution package use simple scripts which either uncompress a source zip or pull down the latest from githib, build in "release" mode, delete the web.config and build in "debug" mode and then hit localhost/dotnetnuke_platform to install. That way we have a fresh build, which installs with all the dependencies, but also has debug set in web.config .