1

Resolved

Updating MLLanguageSelector overwrites version of ALL modules!

description

This is a nasty one that should be fixed immediately (it's also an easy fix):
 
When updating MLLanguageSelector, it overwrites the version number of ALL modules to 5.0.0 ... which basically trashes the DotNetNuke installation (e.g. you can't upgrade other modules that have version numbers below 5.0.0; and it might create serious trouble if you DO upgrade other modules in that state). The worst thing is that it's not immediately obvious unless one looks at the version numbers of the modules - and restoring a backup at a later point in time might not be possible on an active site. Fortunately, this just happened on a test-site of mine, so for me, it wasn't a big deal.
 
The offending statement is:
 
    IF EXISTS (select * from {databaseOwner}[{objectQualifier}Packages] where Name = 'Apollo.MLLANGUAGESELECTOR')
    BEGIN
        SELECT @PackageId = PackageId from {databaseOwner}[{objectQualifier}Packages] where Name = 'Apollo.MLLANGUAGESELECTOR'
 
        UPDATE {databaseOwner}[{objectQualifier}Packages] 
        SET Version = N'5.0.0',
            License = N'See for complete license text: http://mllanguageselector.codeplex.com/license'
    END
 
The update lacks the "WHERE" criterion ... should probably simply be:
 
        UPDATE {databaseOwner}[{objectQualifier}Packages] 
        SET Version = N'5.0.0',
            License = N'See for complete license text: http://mllanguageselector.codeplex.com/license'
        WHERE PackageId = @PackageId

comments

erikvb wrote Sep 4, 2011 at 2:39 PM

thanks for the heads-up. Due to the nature of the issue i had to do a re-release of 05.00.00.

wrote Feb 13, 2013 at 4:40 AM

wrote May 16, 2013 at 2:11 AM

wrote May 16, 2013 at 2:11 AM

wrote Jun 14, 2013 at 8:13 AM