Make a local copy of your live DNN installation

copy dnn Inspired by a blog post from Bruce Chapman (iFinity) I built 2 powershell scripts that do (most of) the needed steps by starting a simple script. But before we take a closer look on the scripts lets talk a little bit about my setup.

  1. ) My customer websites on the server reside in a folder named customernumber_customername (e.g. 0000_bitboxx). In this folder I have a subfolder called “dnn” where the DNN installation is found. This gives me the opportunity to have other functionality installed for this customer in his home folder (e.g. “webmail”)
  2. ) Locally I have a virtual machine set up with all the developer and debugging stuff I need (VS, Resharper, Fiddler ..).  And also all the stuff I need to run a DotNetNuke website (IIS, SQLServer)
  3. ) On the webserver, I need to install the Powershell Community Extensions found on Codeplex. This is only needed for zipping the website files and the backup of the database. If someone finds a better solution (with 7zip and command line parameters for example) please let me know!
  4. ) In my virtual machine I have an SQL User named “test” that I use in the local web.config  for the copied website. The script adds this user automatically to the database and changes the appropriate line in web.config
  5. ) In opposite to Bruce Chapman I don’t change the domain of the installation. The script adds the domain to the host-file in the virtual machine. So running it in the VM ensures that you do not hassle with your live site. (If you want to be sure sure: disconnect the VM from the internet connection!)

If you never have worked with powershell before (as me a few days before), you need to know a few things. Normally powershell is installed on your windows machine. The version does not matter for my scripts. But before  you can start with them you need to set the permission. By default running scripts is prohibited in windows security. So open up a powershell window as administrator and enter the following :

Set-ExecutionPolicy RemoteSigned

Now lets start with the backup script for the server:

The backup script

# Configure these
$DBName = "0006_bitboxx"
$DNNInstallPath = "D:\0006_bitboxx\dnn"
$OutPutPath = "D:\temp\backup\"
$SqlInstance = "MSSQLINSTANCE"

# Here we go...
$DNNZipFile = $DBName + ".dnn.zip"
$DBZipFile = $DBName + ".db.zip"
$ResZipFile = $DBName +".zip"
$DNNZipName = $OutPutPath + $DNNZipFile

# Clear screen

#zip DNN to Targetdirectory
write-host "Zip DNN ..."
$dummy=Write-Zip -level 9 -IncludeEmptyDirectories -Path $DNNInstallPath -OutputPath $DNNZipName -Quiet

write-host "Backup DB ..."
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
$s = New-Object ('Microsoft.SqlServer.Management.Smo.Server') $SqlInstance
$DBBakFile = $OutPutPath + $DBName + ".bak"
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SmoExtended') | out-null
$dbBackup = new-object ("Microsoft.SqlServer.Management.Smo.Backup")
$dbBackup.Database = $DBName
$dbBackup.Devices.AddDevice($DBBakFile, "File") 
$dbBackup.Action = "Database"

write-host "Zip DB ..."
$DBZipName = $OutPutPath + $DBZipFile
$dummy = Write-Zip -level 9 $DBBakFile -OutputPath $DBZipName -Quiet 

write-host "Clean up ..."
$dummy=Remove-Item $DBBakFile

write-host "Ready ! See files ($DBZipFile, $DNNZipFile) in $OutPutPath" 

So, whats happening here ? At first, we need to configure some things in the first 4 lines like Database name, Path to DNN installation, Path to the resulting zip files and the name of your SQL server instance. The line which begins with $dummy = write-zip  only functions if the powershell community extensions are installed. This command has the backdraft that it retains the directory structure in the zip only if you enter a dirctory (here $DNNInstallPath) as a parameter.  Keep that in mind if you want to alter the script for your needs! Next we use the SMO to backup our database and after that we zip the resulting bak file too into our $OutPutPath. Last we delete the .bak file and end up with two zips: “0006_bitboxx.dnn.zip” which contains the DNN files and “0006_bitboxx.db.zip” which contains the backup of the database.

Download the zips

Sorry, no script for this… Do it the way you prefer :-)

The restore script

This one is a little bit more difficult and costs my a few grey hairs (more). But for me its running now perfectly. Tried to get the restore process of the database done with SMO too, but this does not work for me in some circumstances (don’t no which and why). So plain old SQL does the job ^^

# Configure these 
$DBName = "0006_bitboxx"
$WebSiteAddress = "www.bitboxx.net"
$SqlInstance = "TW-WIN8-DEVWEB"
$frameworkRuntime = "v4.0" # "v2.0" oder "v4.0"
$InPutPath = "C:\Temp\Backup\"
$WebSitePath = "C:\Inetpub\wwwroot\$DBName\dnn\"
$OutPutPath = "C:\Inetpub\wwwroot\$DBName\"

# Here we go
$DNNZipFile = $DBName + ".dnn.zip"
$DBZipFile = $DBName + ".db.zip"
$LocalDBUser = "test"
$connectionString = "Data Source=$SqlInstance;Initial Catalog=$DBName;User ID=$LocalDBUser;Password=$LocalDBUser" 
$WebsiteName = $DBName
$DNNZipPath = $InPutPath + $DNNZipFile
$DBZipPath = $InPutPath + $DBZipFile

Import-Module WebAdministration

#remove existing IIS Site and App pool
write-host "Remove old website information in IIS (if any)..."
Remove-Item IIS:\Sites\$websiteName -Recurse -ErrorAction SilentlyContinue
Remove-Item IIS:\AppPools\$websiteName -Recurse -ErrorAction SilentlyContinue

#delete anything in the destination folder
write-host "Delete old contents of target directory (if any)..."
$dummy = new-item -force -path $OutPutPath -itemtype "directory"
$dummy = get-childitem $OutPutPath | remove-item -force -recurse

#unzip DNN to Targetdirectory
$Shell = New-Object -ComObject Shell.Application
$Dest = $Shell.namespace($OutPutPath)
$Zip = $Shell.namespace($DNNZipPath)
write-host "Unzip DNN Files..."

#Set the ACL on the folder
write-host "Adding 'FullControl' to website folder ..."
$Acl = Get-Acl $OutPutPath
$inherit = [system.security.accesscontrol.InheritanceFlags]"ContainerInherit, ObjectInherit"
$propagation = [system.security.accesscontrol.PropagationFlags]"None"
$accessrule = New-Object system.security.AccessControl.FileSystemAccessRule("NETZWERKDIENST", "FullControl", $inherit, $propagation, "Allow")
$dummy = Set-Acl -AclObject $Acl $OutPutPath
Write-Host "'Fullcontrol' access was added to $OutPutPath"

#Create the IIS Site and App pool
$dummy = New-Item IIS:\AppPools\$WebsiteName -Force
$dummy = Set-ItemProperty IIS:\AppPools\$WebsiteName -name ProcessModel.identityType -Value 2
$dummy = Set-ItemProperty IIS:\AppPools\$WebsiteName managedRuntimeVersion $frameworkRuntime
$dummy = New-Item IIS:\Sites\$WebsiteName -bindings @{protocol="http";bindingInformation=":80:$WebsiteAddress"} -physicalPath $WebSitePath
$dummy = Set-ItemProperty IIS:\Sites\$WebsiteName -name applicationPool -value $WebsiteName
write-host "Webside + Applicationpool for $WebsiteName created"

#Update the hosts file
$hostsentry = Select-String $Env:SystemRoot\System32\drivers\etc\hosts -pattern "$WebsiteAddress" -quiet
if (-not $hostsentry)
    Add-Content $Env:SystemRoot\System32\drivers\etc\hosts "        $WebsiteAddress"
    write-host "Added $WebsiteAddress to hosts file"

#Unzip DB.bak 
$Shell = New-Object -ComObject Shell.Application
$Dest = $Shell.namespace($InPutPath)
$Zip = $Shell.namespace($DBZipPath)
write-host "Unzip DB File..."

#Restore the database
#load assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO") | Out-Null
$server = New-Object ("Microsoft.SqlServer.Management.Smo.Server") "(local)"

#need to check if database exists, and if it does, drop it
$db = $server.Databases[$DBName]
if ($db)
      #we will use KillDatabase instead of Drop
      #Kill database will drop active connections before 
      #dropping the database
      write-host "Database $DBName exists, will be deleted now!"

#get backup file
$backupFile = $InputPath + $DBName + ".bak"

# Open ADO.NET Connection with Windows authentification to local $SqlInstance.
$con = New-Object Data.SqlClient.SqlConnection;
$con.ConnectionString = "Data Source=" + $SqlInstance + ";Initial Catalog=master;Integrated Security=True;";

# Create the database.
$sql = "CREATE DATABASE [$DBName];"
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $con;
$dummy = $cmd.ExecuteNonQuery();		
Write-Host "Database $DBName is created!";

# DB Filename + Logfilename shortening (RESTORE DATABASE MOVE syntax ...)
$moveDB = $DBName
if ($moveDB.Length -gt 16)
   $moveDB = $moveDB.Substring(0,16)
$moveDBLog = ($DBName + "_log")
if ($moveDBLog.Length -gt 20)
   $moveDBLog = $moveDBLog.Substring(0,20)

Write-Host "Restoring Database $DBName ...";
$server = New-Object ("Microsoft.SqlServer.Management.Smo.Server") "(local)"
$db = $server.Databases[$DBName]
$DBMasterPath = $db.PrimaryFilePath

$sql = "USE [master]; RESTORE DATABASE [" + $DBName + "] FROM  DISK = N'" + $backupFile+ "' WITH  FILE = 1,  MOVE N'"+ $moveDB + "' TO N'" + $DBMasterPath + $DBName +".mdf',  MOVE N'" + $moveDBLog + "' TO N'"+ $DBMasterPath + $DBName+ "_log.ldf',  NOUNLOAD,  REPLACE,  STATS = 5"
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $con;
$dummy = $cmd.ExecuteNonQuery();		
Write-Host "Database $DBName is Restored!";

remove-item $backupFile

# Adding "test" user to the database and make him dbowner
$sql = "USE [$dbname]"
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $con;
$dummy = $cmd.ExecuteNonQuery();
$sql = "CREATE USER [$LocalDBUser] FOR LOGIN [$LocalDBUser]"
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $con;
$dummy = $cmd.ExecuteNonQuery();
$sql = "EXEC sp_addrolemember N'db_owner', N'$LocalDBUser'"
$cmd = New-Object Data.SqlClient.SqlCommand $sql, $con;
$dummy = $cmd.ExecuteNonQuery();
Write-Host "Made User '$LocalDBUser' dbowner!";

# Close & Clear all ADO things.

# Change web.config connection string
write-host "Change connectionstring in web.config..."
$webConfigPath = $WebSitePath +"web.config"
$backup = $webConfigPath + ".bak"

# Get the content of the config file and cast it to XML and save a backup copy labeled .bak 
$xml = [xml](get-content $webConfigPath)

# Change original connectionString
$root = $xml.get_DocumentElement();
$node = $root.SelectSingleNode("//connectionStrings/add[@name='SiteSqlServer']")
$node.connectionString = $connectionString

# Save it
write-host "Restore Done!"

Hope these scripts can speed up your admin or developer life and frees you up from doing daunting tasks! And if you have any suggestions or better solutions, please let me know !

Total: 83 Comment(s)
To make a live installation you need to go to https://topamericanwriters.com/dissertationteam-com-review/ and then try it again. It'll work for sure as it worked on my computer too.
Sunday, October 14, 2018 · reply ·
pexe jurer
Thanks for sharing the information. Keep the good work going. https://kinguser.xyz/apk/">kinguser https://poweramp.pro/apk/">Poweramp https://leoplaycard.xyz/apk/">leo playcard
Wednesday, November 14, 2018 · reply ·
You guys are missing so many things here that only you can work on and you can see that htings here are only going to work on internet marketing services company. If there's something that I can help you with, I will try for sure. https://www.marketing1on1.com/">strategic internet marketing services
Saturday, December 15, 2018 · reply ·
Buy Adsense safe Traffic
You need to join in a contest first of the finest blogs on the web. I most certainly will suggest this site!
Monday, December 17, 2018 · reply ·
Giving thanks for your write-up. I know that with today’s complicated world, folks have many beliefs and this has made it to be really hard for learners just like me. However, you have made the idea very easy for me to fully grasp and I now have the awareness of the correct thing. Your own continued reputation as among the top experts about this topic may be boosted through words associated with appreciation from subscribers like me. Thanks, once more. https://www.rahaanairobi.com">Nairobi raha girls
Wednesday, December 19, 2018 · reply ·
Fishing Resorts in Northern Minnesota
You created some decent points there. I looked online with the issue and located most individuals goes in addition to using your site. https://www.orrpelicanlake.com/">Fishing Resorts in Northern Minnesota
Wednesday, December 19, 2018 · reply ·
Supremo Blog
This may be the right weblog for everyone who wishes to learn about this topic. https://digitalsupremo.wordpress.com">Supremo Blog
Tuesday, December 25, 2018 · reply ·
Thursday, December 27, 2018 · reply ·
Buy social Traffic
Magnificent goods from you, man. I have understand your stuff previous to and you are just extremely excellent. I really like what you’ve acquired here, certainly like what you are saying and the way in which you say it. You make it enjoyable and you still care for to keep it sensible. I can not wait to read much more from you. This is actually a wonderful web site.
Tuesday, January 8, 2019 · reply ·
This really is an incredibly amazing powerful resource that you’re offering and you just provide it away cost-free!! I comparable to discovering websites that view the particular price of providing you beautiful learning resource for zero cost. We truly dearly loved examining this web site. Be thankful! SEO https://digitalsupremo.wordpress.com
Saturday, January 12, 2019 · reply ·
I simply wanted to thank you a lot more for your amazing website you have developed here. It can be full of useful tips for those who are actually interested in this specific subject, primarily this very post. Your all so sweet in addition to thoughtful of others and reading the blog posts is a great delight in my opinion. And thats a generous present! Dan and I usually have enjoyment making use of your recommendations in what we need to do in the near future. Our checklist is a distance long and tips will certainly be put to excellent use. Marketing https://clickate.com/
Sunday, January 13, 2019 · reply ·
Poonam Kumari
Tuesday, April 9, 2019 · reply ·
Quickbooks Tech Support
Students may also have to obtain piracy problems on some third parties suppliers. Escaping these problems students should take expert guidance before purchasing this system. As well as they should analyze all the main reasons of purchasing QuickBooks bookkeeping system from any third party system source. http://www.advisorexpert.co.uk/quickbooks-support-phone-number/
Monday, April 22, 2019 · reply ·
Lucy Gray
Packers and Movers Bangalore are running in relocation field from coon’s age and serving us with the help of highly professional and trained team and to make our relocation more effective and efficient they are loaded with updated relocation equipment and techniques. Packers and Movers Bangalore is from 4 elite moving company and certified with IBA for relocation work. Packers and Movers Bangalore #charges are reasonable and genuine and because of this quality they also are known as #cheap and #best Packers and Movers in Bangalore. Packers and Movers Bangalore carries almost all kind of relocation for that they have a different team who are specialized and experienced in their respective fields. https://assuremoving.in/packers-and-movers-mumbai/
Tuesday, April 30, 2019 · reply ·
David Harry
Avira Lab experts developed the following malware examine out functions for all users: Full Scan: Full examine out is a finish examine out of the whole pc. The Avira anti-virus, difficult generate drive, e-mail database, system back-up, default system memory, removable storage media, and default can examine out these following objects: system memory, weighted objects on startup, and the system generate etc. For more information : http://www.quickhelps.co/phone-number/avira/
Wednesday, May 1, 2019 · reply ·
Taylor Swift
If you are looking forward to expert guidance to learn how to unblock the emails in your AOL account, then you can easily do so by contacting the email connoisseurs at AOL Customer service.
Friday, September 20, 2019 · reply ·
aol tech support phone number
If you are looking forward to expert guidance to learn how to unblock the emails in your AOL account, then you can easily do so by contacting the email connoisseurs at AOL Customer service. They are available 24*7 and make sure that your query gets resolved within no time. You can also unblock the emails addresses and domains on your own through the Spam Settings.
Monday, September 23, 2019 · reply ·
Thank you! I hope to see more updates from you. This helps me a lot. Changing router login on: https://192-168-1-1-router.com
Friday, January 10, 2020 · reply ·
Lucille F. Parham
It's really great to post my comments on such a blog. https://hogwartsmystery.io/
Saturday, January 11, 2020 · reply ·
printer setup
Saturday, February 8, 2020 · reply ·
https://ask2human.com/">Customer Care Number
https://ask2human.com/listing/airtel-customer-care-number">Airtel Customer Care Number
https://ask2human.com/listing/bharat-gas-customer-care-number/">Bharat Gas Customer Care Number
https://ask2human.com/listing/hdfc-bank-customer-care-number/">HDFC Bank Customer Care Number
https://ask2human.com/listing/apple-customer-care-number/">Apple Customer Care Number
https://ask2human.com/listing/bata-customer-care-number/">Bata Customer Care Number
https://ask2human.com/listing/amazon-customer-care-number/">Amazon Customer Care Number
https://ask2human.com/listing/bookmyshow-customer-care-number/">BookMyShow Customer Care Number
https://ask2human.com/listing/caratlane-customer-care-number/">CaratLane Customer Care Number
https://ask2human.com/listing/chai-point-customer-care-number/">Chai Point Customer Care Number
https://ask2human.com/listing/cleartrip-customer-care-number/">Cleartrip Customer Care Number
https://ask2human.com/listing/croma-customer-care-number/">Croma Customer Care Number
https://ask2human.com/listing/expedia-customer-care-number/">Expedia Customer Care Number
https://ask2human.com/listing/ebay-customer-care-number/">Ebay Customer Care Number
https://ask2human.com/listing/firstcry-customer-care-number/">FirstCry Customer Care Number
https://ask2human.com/listing/flipkart-customer-care-number/">Flipkart Customer Care Number
https://ask2human.com/listing/goair-customer-care-number/">GoAir Customer Care Number
https://ask2human.com/listing/godaddy-customer-care-number/">GoDaddy Customer Care Number
https://ask2human.com/listing/goibibo-customer-care-number/">Goibibo Customer Care Number
https://ask2human.com/listing/goindigo-customer-care-number/">GoIndiGo Customer Care Number
https://ask2human.com/listing/grofers-customer-care-number/">Grofers Customer Care Number
https://ask2human.com/listing/homeshop18-customer-care-number/">HomeShop18 Customer Care Number
https://ask2human.com/listing/hotels-com-customer-care-number/">Hotels.com Customer Care Number
https://ask2human.com/listing/irctc-customer-care-number/">IRCTC Customer Care Number
https://ask2human.com/listing/ixigo-customer-care-number/">Ixigo Customer Care Number
https://ask2human.com/listing/jabong-customer-care-number/">Jabong Customer Care Number
https://ask2human.com/listing/jet-airways-customer-care-number/">Jet Airways Customer Care Number
https://ask2human.com/listing/koovs-customer-care-number/">Koovs Customer Care Number
https://ask2human.com/listing/lenskart-customer-care-number/">Lenskart Customer Care Number
https://ask2human.com/listing/limeroad-customer-care-number/">Limeroad Customer Care Number
https://ask2human.com/listing/makemytrip-customer-care-number/">MakeMyTrip Customer Care Number
https://ask2human.com/listing/myntra-customer-care-number/">Myntra Customer Care Number
https://ask2human.com/listing/naaptol-customer-care-number/">Naaptol Customer Care Number
https://ask2human.com/listing/nykaa-customer-care-number/">Nykaa Customer Care Number
https://ask2human.com/listing/ola-cabs-customer-care-number/">Ola Cabs Customer Care Number
https://ask2human.com/listing/pantaloons-customer-care-number/">Pantaloons Customer Care Number
https://ask2human.com/listing/paytm-customer-care-number/">PayTM Customer Care Number
https://ask2human.com/listing/nearbuy-customer-care-number/">NearBuy Customer Care Number
https://ask2human.com/listing/pepperfry-customer-care-number/">Pepperfry Customer Care Number
https://ask2human.com/listing/portea-medical-customer-care-number/">Portea Medical Customer Care Number
https://ask2human.com/listing/pvr-cinemas-customer-care-number/">PVR Cinemas Customer Care Number
https://ask2human.com/listing/quikr-customer-care-number/">Quikr Customer Care Number
https://ask2human.com/listing/redbus-customer-care-number/">Redbus Customer Care Number
https://ask2human.com/listing/shopclues-customer-care-number/">ShopClues Customer Care Number
https://ask2human.com/listing/shoppers-stop-customer-care-number/">Shoppers Stop Customer Care Number
https://ask2human.com/listing/rediff-customer-care-number/">Rediff Customer Care Number
https://ask2human.com/listing/snapdeal-customer-care-number/">Snapdeal Customer Care Number
https://ask2human.com/listing/xfinity-customer-care-number/">Xfinity Customer Care Number
https://ask2human.com/listing/usha-customer-care-number/">Usha Customer Care Number
https://ask2human.com/listing/oyo-rooms-customer-care-number/">Oyo Rooms Customer Care Number
https://ask2human.com/listing/zomato-customer-care-number/">Zomato Customer Care Number
https://ask2human.com/listing/spicejet-customer-care-number/">SpiceJet Customer Care Number
https://ask2human.com/listing/swiggy-customer-care-number/">Swiggy Customer Care Number
https://ask2human.com/listing/travelguru-customer-care-number/">Travelguru Customer Care Number
https://ask2human.com/listing/tripadvisor-customer-care-number/">TripAdvisor Customer Care Number
https://ask2human.com/listing/spectrum-customer-care-number/">Spectrum Customer Care Number
https://ask2human.com/listing/aakash-institute-customer-care-number/">Aakash Institute Customer Care Number
https://ask2human.com/listing/acc-limited-customer-care-number/">ACC Limited Customer Care Number
https://ask2human.com/listing/aol-customer-care-number/">Aol Customer Care Number
https://ask2human.com/listing/accu-chek-customer-care-number/">Accu-Chek Customer Care Number
https://ask2human.com/listing/urbanclap-customer-care-number/">UrbanClap Customer Care Number
https://ask2human.com/listing/acer-customer-care-number/">Acer Customer Care Number
https://ask2human.com/listing/intex-customer-care-number/">Intex Customer Care Number
https://ask2human.com/listing/bigbasket-customer-care-number/">BigBasket Customer Care Number
https://ask2human.com/listing/walmart-customer-care-number/">Walmart Customer Care Number
https://ask2human.com/listing/bharat-gas-customer-care-number/">Bharat Gas Customer Care Number
https://ask2human.com/listing/delhi-metro-rail-customer-care-number/">Delhi Metro Rail Customer Care Number
https://ask2human.com/listing/vijay-sales-customer-care-number/">Vijay Sales Customer Care Number
https://ask2human.com/listing/voltas-customer-care-number/">Voltas Customer Care Number
https://ask2human.com/listing/lg-customer-care-number/">LG Customer Care Number
https://ask2human.com/listing/rapido-bike-customer-care-number/">Rapido Bike Customer Care Number
https://ask2human.com/listing/jio-customer-care-number/">Jio Customer Care Number
https://ask2human.com/listing/yatra-customer-care-number/">Yatra Customer Care Number
https://ask2human.com/listing/verizon-customer-care-number/">Verizon Customer Care Number
Tuesday, February 11, 2020 · reply ·
hp envy 5055 printer setup
https://printersetupusa.com/envy-5012/ https://printersetupusa.com/envy-5055/ https://printersetupusa.com/hp-envy-5055-all-in-one-printer/ https://printersetupusa.com/hp-envy-5055-driver/ https://printersetupusa.com/hp-envy-5055-manual/ https://printersetupusa.com/hp-envy-5055-setup/ https://printersetupusa.com/hp-envy-5055-software/ https://printersetupusa.com/hp-envy-5055-wireless-setup/ https://printersetupusa.com/hp-envy-4520-driver/ https://printersetupusa.com/hp-envy-4520-setup/ https://printersetupusa.com/hp-envy-4520-software/ https://printersetupusa.com/hp-envy-4520-wireless-setup/ https://printersetupusa.com/dj-2600/ https://printersetupusa.com/dj-2652/ https://printersetupusa.com/oj-3830/ https://printersetupusa.com/oj-5252/ https://printersetupusa.com/oj-5258/ https://printersetupusa.com/hp-officejet-5258-driver/ https://printersetupusa.com/hp-officejet-5258-manual/ https://printersetupusa.com/hp-officejet-5258-setup/ https://printersetupusa.com/hp-officejet-4655-driver/ https://printersetupusa.com/hp-officejet-4655-manual/ https://printersetupusa.com/hp-officejet-4655-setup/ https://printersetupusa.com/oj-pro-6968/ https://printersetupusa.com/oj-pro-6970/ https://printersetupusa.com/oj-pro-8025/ https://printersetupusa.com/oj-pro-6978/ https://printersetupusa.com/hp-officejet-pro-6978-all-in-one-printer/ https://printersetupusa.com/hp-officejet-pro-6978-driver/ https://printersetupusa.com/hp-officejet-pro-6978-manual/ https://printersetupusa.com/hp-officejet-pro-6978-setup/ https://printersetupusa.com/hp-officejet-pro-6978-wireless-setup/
Monday, April 6, 2020 · reply ·
Sophie Miller
Je vous remercie de l'information! Je cherchais et ne pouvait pas trouver. Vous me aidé! https://collegeadmissionscores.com/
Monday, April 20, 2020 · reply ·
just go and choose https://www.justlearn.com/ to learn a foreign language. Keep it up!
Wednesday, June 3, 2020 · reply ·
Sophie Miller
Hello! I'm sorry, that is not the topic! I really like your forum! Thank you, I'm with you) http://19216801.mobi/
Saturday, July 11, 2020 · reply ·
123.hp.com/setup 3830
Thursday, August 13, 2020 · reply ·
Checking out the birthday of celebrity on https://www.thecelebritybirthdays.com to know if they have the same birthday as you, or same age, or to know which celebrity have birthday today.
Monday, August 31, 2020 · reply ·
I think youve made some actually helpful factors. Not as well lots of people would actually feel about this the best way you simply did. Im genuinely impressed that theres so much about this matter thats been uncovered and you also did it so nicely, with so considerably class. https://quartzbanger.org/ ===================================================================================== Well, the article is in reality the greatest on that worthw hile topic. I harmonise with your conclusions and also will certainly thirstily look forward to your approaching updates. Simply saying thanks will certainly not simply just be adequate, for the enormous lucidity in your writing. I can right away grab your rss feed to stay abreast of any updates. https://enailkit.com/
Tuesday, September 22, 2020 · reply ·
sex treffen graz
Nice article! You must visit https://sextreff.net/sextreffengraz and enjoy sexy chat with hot young girls!
Wednesday, September 23, 2020 · reply ·
Thanks for the sensible critique. Me and my neighbor were just preparing to do some research about this. We got a grab a book from our area library but I think I learned more from this post. I’m very glad to see such fantastic info being shared freely out there. https://www.rokagress.ro/categorie-produs/gresie-si-faianta/
Thursday, October 1, 2020 · reply ·
You created some decent points there. I looked online with the issue and located most individuals goes in addition to using your site. https://daumd.info/
Sunday, October 4, 2020 · reply ·
https://shemalekontakte.eu/shemaleforum - for the best hot chat with shemales, check out and enjoy
Wednesday, October 7, 2020 · reply ·
 Hermes 21
I just got to this astonishing site in the relatively recent past. The experience was unquestionably astonishing. On the off chance that lone I have the opportunity. Thanks for sharing this informative post with us, Keep sharing it in the future also. Hermes 21
Friday, October 9, 2020 · reply ·
This site is known as a walk-by way of for all the info you wished about this and didn’t know who to ask. Glimpse right here, and also you’ll positively uncover it. https://www.caz777.com ==== I ask all my friends to visit this blog…. and I hope they will definitely like.. https://foxz24.bet/foxz24/
Saturday, October 10, 2020 · reply ·
Thank you for the good writeup. It in fact was a amusement account it. Look advanced to far added agreeable from you! By the way, how could we communicate? https://goldincity.com ====I’ve recently started a site, and the information you offer on this website has helped me a lot. Thank you for all of your time & work. https://revitalifecompoundingpharmacy.com
Thursday, October 15, 2020 · reply ·
Spinning Game
Having a hard time deciding something? https://wheel-decide.com">Let The Wheel Decide for you! Set your own custom choices and then spin the wheel to make the random decision of lunch, movie, or anything! https://spininggames.blogspot.com/2020/10/5-games-you-can-play-with-your-spinning.html">Random Decisions are really funny
Saturday, October 24, 2020 · reply ·
Are you looking for super tycoon codes for Roblox 2 Player? If yes, then you are at the right place. We will be listing 2 Player Superhero Tycoon codes. We'll also tell you how you can redeem these tokens to upgrade your character by getting rewards.
Monday, October 26, 2020 · reply ·
 Coinmaster Free spin
While playing Coin Master game, you have to ask yourself from time to time about ways in which you can get more free coin spins. The first thing you need to know is that you have two options to win the major coin spin for free: First, you can pay and win a spin pack or second, you can test your patience by waiting 24 hours for the next 50 Free Spins of the Daily Coins. But Here is the way to get Coinmaster Free spins As well as coins.
Wednesday, October 28, 2020 · reply ·
While playing Coin Master game, you have to ask yourself from time to time about ways in which you can get more free coin spins. The first thing you need to know is that you have two options to win the major coin spin for free: First, you can pay and win a spin pack or second, you can test your patience by waiting 24 hours for the next 50 Free Spins of the Daily Coins. But Here is the way to get Coinmaster Free spins As well as coins. https://coinmasterfreespins.uk.com/
Wednesday, October 28, 2020 · reply ·
Shemales Newcastle
The best free sexy chat platform on the whole web is https://t4mnewcastle.com/! Check out today and enjoy free hot chat with young shemales!
Wednesday, October 28, 2020 · reply ·
Sophie Miller
https://dll.website/msvcr120-dll/ Salutations! cette question complexe. Ici, il est nécessaire de penser ...
Friday, October 30, 2020 · reply ·
Wednesday, November 11, 2020 · reply ·
tcm forklift harga murah
When visiting blogs, i always look for a very nice content like yours , 
Saturday, November 21, 2020 · reply ·
shakthi tech
Saturday, November 28, 2020 · reply ·
mature personals central coast
If you are alone and want to meet some sexy ladies you must try free hot chat for sex contacts - https://maturesex.net/centralcoast
Tuesday, December 1, 2020 · reply ·
US also approves Pfizer vaccine'imminent'… "20 million vaccinations within a few weeks" While the UK and Canada have approved Pfizer's COVID- 19 vaccine, the US will hold a meeting of regulatory authorities on the 10th (local time ) to deliberate on whether to issue an emergency use approval ( EUA ) for the vaccine . (CNN) CNN and CNBC , according to broadcast and Drug Administration (US Food FDA ) advisory bodies of vaccines, biological products advisory committee ( VRBPAC are) 10 to open a one-time, Pfizer and bio-yen Corona a Tech Applications 19 vaccine Deliberate on an emergency use approval agenda. The advisory committee votes on whether to recommend approval of the Pfizer vaccine. Based on the recommendations made under this vote, FDA decides whether to finally distribute the vaccine to the public.
Thursday, December 10, 2020 · reply ·
US also approves Pfizer vaccine'imminent'… "20 million vaccinations within a few weeks" While the UK and Canada have approved Pfizer's COVID- 19 vaccine, the US will hold a meeting of regulatory authorities on the 10th (local time ) to deliberate on whether to issue an emergency use approval ( EUA ) for the vaccine . (CNN) CNN and CNBC , according to broadcast and Drug Administration (US Food FDA ) advisory bodies of vaccines, biological products advisory committee ( VRBPAC are) 10 to open a one-time, Pfizer and bio-yen Corona a Tech Applications 19 vaccine Deliberate on an emergency use approval agenda. https://www.topseom.com/topseom" target="_blank" title="우리카지노">우리카지노 The advisory committee votes on whether to recommend approval of the Pfizer vaccine. Based on the recommendations made under this vote, FDA decides whether to finally distribute the vaccine to the public.
Thursday, December 10, 2020 · reply ·
안전공원 추천
Hi You have a good look at this article and photo. I will subscribe in the future. I also run a site Please visit my site and leave feedback It's a very small site, but about 1000 people come in a day, so you're making money while operating the site, and come to play! My site address: https://travelowners.com">안전공원
Sunday, December 20, 2020 · reply ·
Amazon.com/mytv is an official link that helps users to activate their Amazon prime membership by amazon activation to get access to streaming channels such as movies, drama, news, web show, cartoons, etc.Go to the link below and get more information:- https://primytv.com/"> www.amazon.com/mytv https://primytv.com/"> Amazon.com/mytv https://primytv.com/"> amazon.com mytv https://primytv.com/"> amazon mytv activation code https://primytv.com/"> amazon enter activation code
Wednesday, December 23, 2020 · reply ·
Geil Oma sex Tirol
You can find sexy ladies for chat if you visit https://sexintirol.at/omasex on your phone browser
Wednesday, December 30, 2020 · reply ·
이 웹 사이트는 놀랍습니다. 좋은 기사와 훌륭한 정보입니다. https://mt-112.com/
Sunday, January 3, 2021 · reply ·
sex in erfurt
Use your free time for free sexy chat pleasure with hot young girls at https://sexthueringen.com/erfurt
Wednesday, January 13, 2021 · reply ·
Solaiman Sarker
Wonderful article. It's very useful. As a home tuition service provider, I really appreciate your post. Thanks for sharing this with us.I find a very good website for the https://singaporetuitionteachers.com">Home Tuition, You can visit this site. Engaging Home Tuition[/url]
Thursday, January 14, 2021 · reply ·
Bus navetta https://www.trapanishuttle.com Trapani Shuttle è un servizio transfer bus navetta, su prenotazione, nato per soddisfare la mobilità turistica da Trapani Aeroporto e Palermo Aeroporto, per Trapani Porto imbarco Isole Egadi, Favignana, Levanzo e Marettimo. Bus navetta Palermo aeroporto Trapani porto : comodo e rapido come un taxi pratico ed economico come un mezzo pubblico Bus navetta aeroporto Palermo porto Trapani. TRAPANI SHUTTLE: bus aeroporto Palermo Aeroporto Trapani porto dalle 09.30 alle 20.30 ogni ora su prenotazione Bus navetta porto Trapani aeroporto Palermo ogni ora dalle ore 06.05 fino alle ore 18.35 ultimo bus navetta per Palermo aeroporto.
Sunday, January 17, 2021 · reply ·
navetta aeroporto https://www.sanvitolocaposhuttle.com San Vito lo Capo Shuttle è un servizio transfer bus navetta Palermo aeroporto San Vito lo Capo con prenotazione. Nato per soddisfare la richiesta transfer bus navetta Trapani Aeroporto San Vito lo Capo e Palermo Aeroporto San Vito lo Capo. Transfer bus navetta Palermo aeroporto diretto con tutti gli hotel e casa vacanze a San Vito lo Capo. Il servizio bus navetta copre tutti i distretti del territorio a San Vito lo Capo. SAN VITO LO CAPO SHUTTLE: transfer bus navetta Palermo Aeroporto San Vito lo Capo, Macari e Castelluzzo
Sunday, January 17, 2021 · reply ·
Baccarat Site Community
The UK has an amazing selection of online casinos. They provide hundreds of online slot games with some incredible themes designed to appeal to many different players. Online slots UK also have a vast amount of playing styles. They vary from a simple three reel with one payline to a more detailed five reel slot system. All games have many ways to win. Whatever your preference, you’ll find what you’re looking for when you play online slots with online casinos in the UK. 우리카지노 계열 대한민국 최고의 바카라사이트 ☞ http://casino-topseom.com" target="_blank" title="바카라사이트">바카라사이트
Thursday, January 21, 2021 · reply ·
Unfallwagen ankauf
Thank you for another informative website. The place else may I get that type of info written in such an ideal manner? I have a mission that I am simply now working on, and I have been on the look out for such information.
Wednesday, January 27, 2021 · reply ·
Hello” i can see that you are a really great blogger.   
Wednesday, January 27, 2021 · reply ·
The thing is, if you do get into them (and have something to offer), you’ll face limited competition, and if you know your marketing, you will flourish. https://www.oneplay99.com
Friday, January 29, 2021 · reply ·
Spinning Game
Friday, January 29, 2021 · reply ·
hausfrauensex saarland
If you are alone visit https://hausfrauensex.net/saarland and try free chat with young ladies
Thursday, February 4, 2021 · reply ·
Your articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up!
Thursday, February 11, 2021 · reply ·
the data you have on your blogs are really amazing and i appreciate you and your efforts to make it happen. https://topbestairpurifiers.wordpress.com/ https://bestairpurifire.over-blog.com/air-purifier-for-smoke.html
Saturday, February 13, 2021 · reply ·
the data you have on your blogs are really amazing and i appreciate you and your efforts to make it happen. https://topbestairpurifiers.wordpress.com/ https://bestairpurifire.over-blog.com/air-purifier-for-smoke.html
Saturday, February 13, 2021 · reply ·
There you can download for nothing, see the first of these information https://xn--m-2n1f6n81z7tu15b.com/">먹튀폴리스
Monday, February 15, 2021 · reply ·
jeux xbox tunisie
Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include
Thursday, February 18, 2021 · reply ·
Alycia gordan
Amazon.com/mytv- Amazon Prime is a paid membership that gives you admittance to a huge scope of administrations: free quick conveyance, limitless video real-time, elite admittance to bargains, among others. Amazon.com/mytv permits its supporter's limitless spilling of motion pictures and TV shows. The vast majority of the substance accessible on Amazon Instant Video can be transferred for nothing with Amazon Prime participation.
Wednesday, March 10, 2021 · reply ·
Have you considered about including some social bookmarking buttons to these blogs. At least for twitter. https://thebodymassageshop.com/bbs/board.php?bo_table=jeju ========================================== Mal was ganz anderes. Was galubt ihr, wer wird die WM der Frauen gewinnen? Ich hoffe England. lol. https://www.learntek.org/core-java-training/
Saturday, March 13, 2021 · reply ·
Thanks! I think you will maybe not worry much if I browse around your site a tad bit more. “The preservation of the sacred fire of liberty and the destiny of the republican model of government are justly considered … deeply … finally, staked on the experiment entrusted to the hands of the American people.” by George Washington..
Tuesday, March 16, 2021 · reply ·
I truly value this superb post that you have accommodated us. I guarantee this would be helpful for a large portion of the general population. https://g.page/drromainperez1
Thursday, March 25, 2021 · reply ·
muneer ahmed
It was extremely all around composed and straightforward. Not at all like different online journals I have perused which are truly not that good.Thanks a lot https://g.co/kgs/hf2nbV
Thursday, March 25, 2021 · reply ·
After looking at a few of the blog articles on your blog, I honestly like your technique of writing a blog. I added it to my bookmark site list and will be checking back soon. Take a look at my web site too and let me know what you think. https://crozetpizza.net//">토토사이트
Friday, April 2, 2021 · reply ·
long time lurker, first time commenter. thanks for the info!
Wednesday, April 7, 2021 · reply ·


Torsten WeggenMy name is Torsten Weggen and I am CEO of indisoftware GmbH in Hanover, Germany. I'm into DNN since 2008. Before this, I did a lot of desktop stuff mainly coded with Visual Foxpro (see http://www.auktionsbuddy.de). 

I'm programmer, husband, father + born in 1965.

Please feel free to contact me if you have questions.

Latest Posts

DNN module development with Angular 2+ (Part 7)
6/10/2018 1:43 PM | Torsten Weggen
DNN module development with AngularJS (Part 6)
12/16/2016 7:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 5)
12/16/2016 6:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 4)
12/16/2016 5:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 3)
12/16/2016 4:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 2)
12/16/2016 3:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 1)
12/15/2016 7:19 AM | Torsten Weggen
Blogging in DNN with Markdown Monster by Rick Strahl
11/27/2016 1:14 PM | Torsten Weggen
Creating a global token engine
11/18/2016 10:25 AM | Torsten Weggen
DnnImagehandler - Hot or not ?
2/21/2015 11:52 PM | Torsten Weggen

My Twitter

Keine News gefunden!