--- library\dde\pkgIndex.tcl
+++ library\dde\pkgIndex.tcl
@@ -1,7 +1,9 @@
 if {([info commands ::tcl::pkgconfig] eq "")
 	|| ([info sharedlibextension] ne ".dll")} return
 if {[::tcl::pkgconfig get debug]} {
-    package ifneeded dde 1.4.0b1 [list load [file join $dir tcldde14g.dll] dde]
+    set ::ddelib [file join $dir tcldde14g.dll]
 } else {
-    package ifneeded dde 1.4.0b1 [list load [file join $dir tcldde14.dll] dde]
+    set ::ddelib [file join $dir tcldde14.dll]
 }
+# ::ddelib is required by windde.test
+package ifneeded dde 1.4.0b1 [list load $::ddelib dde]

--- library\reg\pkgIndex.tcl
+++ library\reg\pkgIndex.tcl
@@ -1,9 +1,9 @@
 if {([info commands ::tcl::pkgconfig] eq "")
 	|| ([info sharedlibextension] ne ".dll")} return
 if {[::tcl::pkgconfig get debug]} {
-    package ifneeded registry 1.3.0 \
-            [list load [file join $dir tclreg13g.dll] registry]
+    set ::reglib [file join $dir tclreg13g.dll] 
 } else {
-    package ifneeded registry 1.3.0 \
-            [list load [file join $dir tclreg13.dll] registry]
+    set ::reglib [file join $dir tclreg13.dll]
 }
+# ::reglib is required by registry.test
+package ifneeded registry 1.3.0 [list load $::reglib registry]

--- tests\fCmd.test
+++ tests\fCmd.test
@@ -33,7 +33,8 @@
 	} on error {} {
 	    # try the location given to use on the commandline to tcltest
 	    ::tcltest::loadTestedCommands
-	    load $::reglib Registry
+	    catch { load $::reglib Registry }
+      package require registry
 	}
 	testConstraint reg 1
     }

--- tests\registry.test
+++ tests\registry.test
@@ -22,7 +22,8 @@
 	if [catch {load {} Registry; set ::reglib {}}] {
 	    # try the location given to use on the commandline to tcltest
 	    ::tcltest::loadTestedCommands
-	    load $::reglib Registry
+	    catch { load $::reglib Registry }
+      package require registry
 	}
 	testConstraint reg 1
     }
@@ -505,7 +506,7 @@
     registry delete HKEY_CURRENT_USER\\TclFoobar
     set result
 } "foo ba r baz"
-test registry-6.21 {GetValue: very long value names and values} {pcOnly} {
+test registry-6.21 {GetValue: very long value names and values} {pcOnly reg} {
     registry set HKEY_CURRENT_USER\\TclFoobar [string repeat k 16383] [string repeat x 16383] multi_sz
     set result [registry get HKEY_CURRENT_USER\\TclFoobar [string repeat k 16383]]
     registry delete HKEY_CURRENT_USER\\TclFoobar

--- tests\winDde.test
+++ tests\winDde.test
@@ -20,7 +20,8 @@
     if [catch {load {} Dde; set ::ddelib {}}] {
 	# try the location given to use on the commandline to tcltest
 	::tcltest::loadTestedCommands
-	load $::ddelib Dde
+	catch { load $::ddelib Dde }
+	package require dde
     }
     testConstraint dde 1
 }] {

