how to package install version of dotnetnuke from source of it - calendar

I changed source of DotNetnuke (a little!) and I want to package an install version of my new DotNetNuke.
How Can I do this?
p.s: I know It's not recommended to change the source but I have no another option
(Telerik calendar do not support my date format and I have to replace it with another calendar !)
Thanks in advance

Answer depends on what you have changed, but the simplest way is to deliver patch that should be installed after normal dnn installation. For example, if you have only changed dll, you can ask to follow normal dnn setup instructions and finally relpace dll. If it's more than on file, you can review how dnn upgrade package is built. It follows same folder structure and places only changed files. So if you have couple of dlls changed in bin, the will be placed in bin folder, and if you have changed some ascx file it should be placed in same path by creating same folder hierarchy.
You can also create a package that can be installed to deploy your changes but for smaller set of files it will be complecated.
Let me know if you need more help.

You can package any change into a DNN install package by including the compiled files along with a DNN Manifest file. This can then be installed via the Extensions page. A manifest file is an Xml file which controls where the contents of an install zip are installed. You can make it as simple or as complicated as you need. You can also include xml merge statements to make changes to the web.config file upon install and uninstall. See the wiki for reference : http://www.dotnetnuke.com/Resources/Wiki/Page/Manifests.aspx
Incidentally, you may have been able to deliver your modified telerik source as a separate provider, and configure it via the web.config, thus saving you from modifying the source code. To do something like that, you would build your own module, and plug it in and replace the standard Telerik references.

Related

Where can I download RiaServices.msi nowadays?

Where can I download RiaServices.msi from the web, after Microsoft removed it?
I need to prepare a new virtual machine to host a legacy Silverlight application.
Thanks!
As far as I know, downloading ria.services separately may not be easy to find at the moment, you can use NuGet to install it.
After the hint from #Jiayao, I decided to forget about the RiaServices.msi installer and manually copy the necessary files to the target host machine, where the Silverlight app was published.
Luckily the files simply need to be copied to the silverlight "bin" folder.
The files I copied were:
System.ServiceModel.DomainServices.Client.dll
System.ServiceModel.DomainServices.Client.Web.dll
System.ServiceModel.DomainServices.Hosting.dll
System.ServiceModel.DomainServices.Server.dll
These libraries are available in the "lib" folder of riaservices.silverlight.4.2.0 and riaservices.server.4.2.0 NuGet packages. You can download the packages, rename the .nupkg files to .zip and extract them.
If I have the chance to compile the Silverlight application from the source, I plan to add these NuGet packages as dependencies of the project, so they can be normally deployed within the Silverlight application.

DNN Module installation

Is it possible to "install" a module just by pasting the file of the module and just paste it into the DesktopModules folder and have the modules working on the website?
If not, is there a way where I can export the whole module from one system and install it onto another system?
Have you tried creating a module package for this module? (when you click the edit pen for the extension, you should find a "Create package" button on the top right).
Take care to include the assembly/assemblies needed, and also the Sql Server scripts to install the module correctly (often found in the module folder under Providers/DataProvider/SqlDataProvider/*.SqlDataProvider). There might be other files in the module folder (images, css, etc), be sure to include them in the package, then try to create it. You will find the ZIP file under /install/Modules then, move it away from there somewhere on your local file system (otherwise the installer might try to install it with the next update). Then try to update the extension in a testing system, check if it works and you're done. If there are errors it might be that you are missing some files that have to be included. Check the error messages, and restart.
There used to be a way using the /Install/Module/ folder (put ZIP file there, then call /install/install.aspx?mode=installresources) If you are on an old version of DNN (7 and earlier?) you can still use this. But you've got a load of security issues that should drive you to upgrade.
I don't know of a good way to do this now. For security purposes DNN removes the Install resources after an upgrade.
IF you already have the module installed in both locations, you could copy the resources for the file from server to server (DLL in the BIN folder and the contents of the desktopmodules folder) assuming you don't have any MANIFEST file changes that need registered.

Nuget Update is not working propelry

I want to update the Nuget packages used in the solution file and currently, I am using the following command to update the Nuget packages.
NuGet restore <projectPath> [options]
Reference: https://learn.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#restore
If no solution file, packages.config, or project.json is found, NuGet gives an error.
Reference: https://learn.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#remarks
But the problem is I am using the packages.ProjectName.Config instead of packages.config file.So the NuGet update is not properly working.
Note: Similarly if the folder contains multiple project and solution files the NuGet update is not working.
Please suggest how to overcome this issue?
Edit:
Initially I thought the packages.[projectname].config usage in my source is the reason for NuGet packages restoring but later I found that NuGet packages are not even properly restored with packages.config files.
I have more than solution and project file in my source, After deleting the other projects, The NuGet restore is working properly in my source.
Is having more than one solution file is the reason for Nuget not updating? Anyone faced the problems , Any help to overcome this issue will be useful.
Nuget restore requires a Visual Studio solution file, a packages.config file or a project.json file.
See the remarks for it's beavior.
Looks like you can't specify an arbitrary name but you should be able to accommodate your scenario as of NuGet 2.8. The project names just need to match the filenames - I don't imagine spaces are allowed.
NuGet release notes;
Individual packages.config Files for Different Platforms
When developing applications for multiple target platforms, it is common to have different project files for each of the respective build environments. It is also common to consume different NuGet packages in different project files, as packages have varying levels of support for different platforms. NuGet 2.8 provides improved support for this scenario by creating different packages.config files for different platform-specific project files.
Looks like ReactiveUI do this, so worth checking their repo;
ReactiveUI Github

NuGet Package not copying XMLDoc file along with dll to bin

I'm using NuGet GUI and trying to include XML File along with my DLL to distribute help along with the DLL.
When I install package in any of the project, it adds the DLL reference successfully, but XML file is not generated inside bin folder of the project in which package is added.
XML file is available within packages\\lib\.XML
Any help would be very much appreciated.
Thanks in advance
On your side of things:
Check this post:
How do you include Xml Docs for a class library in a NuGet package?
On the developer's side of things:
The creator of the NuGet package decides some of this.
http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package
Find : Automatically Running PowerShell Scripts During Package Installation and Removal
So I think the developer of the Nuget package would have to write the voo-doo.
Or you'll have to manually include it yourself.
Both the .dll and the .xml file should be copied to your project's output folder when the project is compiled.
NuGet will not copy the .xml file, nor the .dll, in your bin folder when you install the package. If you want to do this then you will have to use PowerShell. I do not believe you need to do this since MSBuild will do this anyway at compile time.

DotNetNuke - How can i add module definitions from .dnn6 manifest

Hi DotNetNuke experts :)
I want to make some changes in dnnfeedback source and I want to add module definition to site
in previous release of this module I used to go to "host-->extensions" and from action menu choose "create new module" and simply add the manifest and use it
But in latest module release the manifest extension was changed to .dnn6 and my DotNetNuke (version:6.1.3) doesn't show me anything to choose from.
I think this section of DotNetNuke Doesn't understand .dnn6 extension.
so how can I add definition of this module?
Thanks
if you wanna to change a source code just install the package and replace the DLL file with that one you've changed
You can simply use "Install Extension Wizard" instead of "Create new module" option and select the downloaded source package .zip of the Feedback module. It will install source files into DestkopModules/Feedback folder and you can make your changes there.
A little about .dnn6 manifest files can be found here.

Resources