Index: trunk/psModules/src/config/pmConfigRun.c
===================================================================
--- trunk/psModules/src/config/pmConfigRun.c	(revision 23244)
+++ trunk/psModules/src/config/pmConfigRun.c	(revision 23259)
@@ -72,5 +72,5 @@
 
 
-bool pmConfigRunCommand(pmConfig *config, int argc, const char **argv)
+bool pmConfigRunCommand(pmConfig *config, int argc, char **argv)
 {
     PS_ASSERT_PTR_NON_NULL(config, false);
@@ -81,5 +81,5 @@
     psString command = NULL;
     for (int i = 0; i < argc; i++) {
-        psStringAppend(&command, "%s", argv[i]);
+        psStringAppend(&command, "%s ", argv[i]);
     }
 
@@ -89,2 +89,25 @@
     return true;
 }
+
+
+bool pmConfigRunSeed(pmConfig *config, psU64 seed)
+{
+    PS_ASSERT_PTR_NON_NULL(config, false);
+
+    psMetadata *run = configRun(config);// Run-time information
+    psAssert(run, "Require run-time information");
+
+    if (!seed) {
+        bool mdok;                          // Status of MD lookup
+        seed = psMetadataLookupU64(&mdok, run, "SEED");
+    }
+    if (!seed) {
+        bool mdok;                          // Status of MD lookup
+        seed = psMetadataLookupU64(&mdok, config->user, "SEED");
+    }
+
+    // seed may still be zero by this point
+    seed = psRandomSeed(seed);
+    return psMetadataAddU64(run, PS_LIST_TAIL, "SEED", PS_META_REPLACE, "Random number generator seed", seed);
+}
+
