You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2013/09/18 02:38:10 UTC

[2/2] git commit: removed risky regex template version number replacement, and added XMLDOM versions (cherry picked from commit 7d4fda073ce35ecaa0003003fa85bc0b60bcb706)

removed risky regex template version number replacement, and added XMLDOM versions
(cherry picked from commit 7d4fda073ce35ecaa0003003fa85bc0b60bcb706)


Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/85245bfe
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/85245bfe
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/85245bfe

Branch: refs/heads/3.1.x
Commit: 85245bfe801b4c34a825f8434aa63c0207f0d2cd
Parents: be0b01e
Author: purplecabbage <pu...@gmail.com>
Authored: Tue Sep 17 17:21:08 2013 -0700
Committer: purplecabbage <pu...@gmail.com>
Committed: Tue Sep 17 17:28:18 2013 -0700

----------------------------------------------------------------------
 wp7/template/MyTemplate.vstemplate     | 202 ++++++++++++++--------------
 wp7/tooling/scripts/createTemplates.js |  51 +++++--
 wp8/template/MyTemplate.vstemplate     | 198 +++++++++++++--------------
 wp8/tooling/scripts/createTemplates.js |  74 ++++++++--
 4 files changed, 301 insertions(+), 224 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/85245bfe/wp7/template/MyTemplate.vstemplate
----------------------------------------------------------------------
diff --git a/wp7/template/MyTemplate.vstemplate b/wp7/template/MyTemplate.vstemplate
index d8612a8..f446866 100644
--- a/wp7/template/MyTemplate.vstemplate
+++ b/wp7/template/MyTemplate.vstemplate
@@ -1,102 +1,102 @@
 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
-  <TemplateData>
-    <Name>CordovaWP7_0_0_0</Name>
-    <Description>Starter project for building a Cordova app for Windows Phone version: 0.0.0</Description>
-    <ProjectType>CSharp</ProjectType>
-    <ProjectSubType>
-    </ProjectSubType>
-    <SortOrder>1000</SortOrder>
-    <CreateNewFolder>true</CreateNewFolder>
-    <DefaultName>CordovaWP7_0_0_0</DefaultName>
-    <ProvideDefaultName>true</ProvideDefaultName>
-    <LocationField>Enabled</LocationField>
-    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
-    <Icon>__TemplateIcon.png</Icon>
-    <PreviewImage>__PreviewImage.jpg</PreviewImage>
-  </TemplateData>
-  <TemplateContent>
-    <Project TargetFileName="CordovaWP7AppProj.csproj" File="CordovaWP7AppProj.csproj" ReplaceParameters="true">
-      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="BuildManifestProcessor.js">BuildManifestProcessor.js</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
-      <Folder Name="cordova" TargetFolderName="cordova">
-        <Folder Name="lib" TargetFolderName="lib">
-          <ProjectItem ReplaceParameters="true" TargetFileName="build.js">build.js</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="clean.js">clean.js</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="deploy.js">deploy.js</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="install-device.bat">install-device.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="install-emulator.bat">install-emulator.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-devices.bat">list-devices.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-emulator-images.bat">list-emulator-images.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-started-emulators.bat">list-started-emulators.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="log.js">log.js</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="start-emulator.bat">start-emulator.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="target-list.js">target-list.js</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="false" TargetFileName="build.bat">build.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="clean.bat">clean.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="log.bat">log.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="run.bat">run.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="version.bat">version.bat</ProjectItem>
-      </Folder>
-      <Folder Name="cordovalib" TargetFolderName="cordovalib">
-        <Folder Name="JSON" TargetFolderName="JSON">
-          <ProjectItem ReplaceParameters="true" TargetFileName="JsonHelper.cs">JsonHelper.cs</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="true" TargetFileName="BaseCommand.cs">BaseCommand.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="BrowserMouseHelper.cs">BrowserMouseHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CommandFactory.cs">CommandFactory.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ConfigHandler.cs">ConfigHandler.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ConsoleHelper.cs">ConsoleHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaCommandCall.cs">CordovaCommandCall.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml">CordovaView.xaml</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml.cs">CordovaView.xaml.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="DOMStorageHelper.cs">DOMStorageHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="DOMStorageProxy.cs">DOMStorageProxy.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="IBrowserDecorator.cs">IBrowserDecorator.cs</ProjectItem>        
-        <ProjectItem ReplaceParameters="true" TargetFileName="ImageExifHelper.cs">ImageExifHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="MimeTypeMapper.cs">MimeTypeMapper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="NativeExecution.cs">NativeExecution.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="OrientationHelper.cs">OrientationHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="PluginResult.cs">PluginResult.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ScriptCallback.cs">ScriptCallback.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="XHRHelper.cs">XHRHelper.cs</ProjectItem>
-      </Folder>
-      <ProjectItem ReplaceParameters="true" TargetFileName="CordovaSourceDictionary.xml">CordovaSourceDictionary.xml</ProjectItem>
-      <Folder Name="Images" TargetFolderName="Images">
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.back.rest.png">appbar.back.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.close.rest.png">appbar.close.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.feature.video.rest.png">appbar.feature.video.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.next.rest.png">appbar.next.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.save.rest.png">appbar.save.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.stop.rest.png">appbar.stop.rest.png</ProjectItem>
-      </Folder>
-      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
-      <Folder Name="Properties" TargetFolderName="Properties">
-        <ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
-      </Folder>
-      <Folder Name="Service References" TargetFolderName="Service References" />
-      <ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="VERSION">VERSION</ProjectItem>
-      <Folder Name="www" TargetFolderName="www">
-        <ProjectItem ReplaceParameters="true" TargetFileName="cordova.js">cordova.js</ProjectItem>
-        <Folder Name="css" TargetFolderName="css">
-          <ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
-        </Folder>
-        <Folder Name="img" TargetFolderName="img">
-          <ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
-        <Folder Name="js" TargetFolderName="js">
-          <ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
-        </Folder>
-      </Folder>
-    </Project>
-  </TemplateContent>
-</VSTemplate>
\ No newline at end of file
+	<TemplateData>
+		<Name>CordovaWP7_3_1_0-rc1</Name>
+		<Description>Starter project for building a Cordova app for Windows Phone version: 3.1.0-rc1</Description>
+		<ProjectType>CSharp</ProjectType>
+		<ProjectSubType>
+		</ProjectSubType>
+		<SortOrder>1000</SortOrder>
+		<CreateNewFolder>true</CreateNewFolder>
+		<DefaultName>CordovaWP7_3_1_0-rc1_</DefaultName>
+		<ProvideDefaultName>true</ProvideDefaultName>
+		<LocationField>Enabled</LocationField>
+		<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
+		<Icon>__TemplateIcon.png</Icon>
+		<PreviewImage>__PreviewImage.jpg</PreviewImage>
+	</TemplateData>
+	<TemplateContent>
+		<Project TargetFileName="CordovaWP7AppProj.csproj" File="CordovaWP7AppProj.csproj" ReplaceParameters="true">
+			<ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="BuildManifestProcessor.js">BuildManifestProcessor.js</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
+			<Folder Name="cordova" TargetFolderName="cordova">
+				<Folder Name="lib" TargetFolderName="lib">
+					<ProjectItem ReplaceParameters="true" TargetFileName="build.js">build.js</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="clean.js">clean.js</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="deploy.js">deploy.js</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="install-device.bat">install-device.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="install-emulator.bat">install-emulator.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-devices.bat">list-devices.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-emulator-images.bat">list-emulator-images.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-started-emulators.bat">list-started-emulators.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="log.js">log.js</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="start-emulator.bat">start-emulator.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="target-list.js">target-list.js</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="false" TargetFileName="build.bat">build.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="clean.bat">clean.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="log.bat">log.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="run.bat">run.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="version.bat">version.bat</ProjectItem>
+			</Folder>
+			<Folder Name="cordovalib" TargetFolderName="cordovalib">
+				<Folder Name="JSON" TargetFolderName="JSON">
+					<ProjectItem ReplaceParameters="true" TargetFileName="JsonHelper.cs">JsonHelper.cs</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="true" TargetFileName="BaseCommand.cs">BaseCommand.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="BrowserMouseHelper.cs">BrowserMouseHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CommandFactory.cs">CommandFactory.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ConfigHandler.cs">ConfigHandler.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ConsoleHelper.cs">ConsoleHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaCommandCall.cs">CordovaCommandCall.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml">CordovaView.xaml</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml.cs">CordovaView.xaml.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="DOMStorageHelper.cs">DOMStorageHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="DOMStorageProxy.cs">DOMStorageProxy.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="IBrowserDecorator.cs">IBrowserDecorator.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ImageExifHelper.cs">ImageExifHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="MimeTypeMapper.cs">MimeTypeMapper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="NativeExecution.cs">NativeExecution.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="OrientationHelper.cs">OrientationHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="PluginResult.cs">PluginResult.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ScriptCallback.cs">ScriptCallback.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="XHRHelper.cs">XHRHelper.cs</ProjectItem>
+			</Folder>
+			<ProjectItem ReplaceParameters="true" TargetFileName="CordovaSourceDictionary.xml">CordovaSourceDictionary.xml</ProjectItem>
+			<Folder Name="Images" TargetFolderName="Images">
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.back.rest.png">appbar.back.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.close.rest.png">appbar.close.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.feature.video.rest.png">appbar.feature.video.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.next.rest.png">appbar.next.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.save.rest.png">appbar.save.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.stop.rest.png">appbar.stop.rest.png</ProjectItem>
+			</Folder>
+			<ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
+			<Folder Name="Properties" TargetFolderName="Properties">
+				<ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
+			</Folder>
+			<Folder Name="Service References" TargetFolderName="Service References"/>
+			<ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="VERSION">VERSION</ProjectItem>
+			<Folder Name="www" TargetFolderName="www">
+				<ProjectItem ReplaceParameters="true" TargetFileName="cordova.js">cordova.js</ProjectItem>
+				<Folder Name="css" TargetFolderName="css">
+					<ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
+				</Folder>
+				<Folder Name="img" TargetFolderName="img">
+					<ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
+				<Folder Name="js" TargetFolderName="js">
+					<ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
+				</Folder>
+			</Folder>
+		</Project>
+	</TemplateContent>
+</VSTemplate>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/85245bfe/wp7/tooling/scripts/createTemplates.js
----------------------------------------------------------------------
diff --git a/wp7/tooling/scripts/createTemplates.js b/wp7/tooling/scripts/createTemplates.js
index a8eccb5..5f044a0 100644
--- a/wp7/tooling/scripts/createTemplates.js
+++ b/wp7/tooling/scripts/createTemplates.js
@@ -36,8 +36,8 @@ var versionNum ='0.0.0';
 
 var platformRoot = WScript.ScriptFullName.split('\\tooling\\', 1);
 
-//  set with the -install switch, default false 
-var addToVS = false; 
+//  set with the -install switch, default false
+var addToVS = false;
 
 // help function
 function Usage() {
@@ -146,7 +146,7 @@ function copyFile(src,dest) {
 function copyCommonItemsToTemplate() {
     var srcPath = repoRoot + '\\common';
     var destPath = platformRoot + templatePath;
-    
+
     var folder = fso.GetFolder(srcPath);
     // iterate over the files in the folder
     for (var files = new Enumerator(folder.files) ; !files.atEnd() ; files.moveNext()) {
@@ -156,7 +156,7 @@ function copyCommonItemsToTemplate() {
     // iterate over the child folders in the folder
     for (var subFlds = new Enumerator(folder.SubFolders) ; !subFlds.atEnd() ; subFlds.moveNext()) {
         //Log("Folder: " + srcPath + "\\" + subFlds.item().name);
-        exec('%comspec% /c xcopy /Y /E /I ' + srcPath + "\\" + subFlds.item().name + " " 
+        exec('%comspec% /c xcopy /Y /E /I ' + srcPath + "\\" + subFlds.item().name + " "
             + destPath + "\\" + subFlds.item().name);
     }
 }
@@ -183,7 +183,7 @@ function package_templates()
 
     Log("Creating template .zip files for wp7");
     var templateOutFilename = repoRoot + '\\CordovaWP7_' + versionNum.replace(/\./g, '_') + '.zip';
-    
+
     // clear the destination
     deleteFileIfExists(templateOutFilename);
 
@@ -200,12 +200,39 @@ function package_templates()
 
     copyFile(repoRoot + '\\VERSION',platformRoot + templatePath);
 
-    // update .vstemplate files for the template zips.
-    var name_regex = /CordovaWP7[_](\d+)[_](\d+)[_](\d+)(rc\d)?/g;
-    var discript_regex = /Cordova\s*(\d+)[.](\d+)[.](\d+)(rc\d)?/;
+    var cleanVersionName = "CordovaWP7_" + versionNum.replace(/\./g, '_');
+
+    // Use proper XML-DOM named nodes and replace them with cordova current version
+    var projXml = WScript.CreateObject("Microsoft.XMLDOM");
+    projXml.async = false;
+    var fullTemplatePath = platformRoot + templatePath + '\\MyTemplate.vstemplate';
+    if (projXml.load(fullTemplatePath)) {
+
+        // <Name>CordovaWP7_ + versionNum.replace(/\./g, '_')</Name>
+        var xNode = projXml.selectSingleNode("VSTemplate/TemplateData/Name");
+        if(xNode != null)
+        {
+            // Log("replacing version in Name");
+            xNode.text = cleanVersionName;
+        }
+
+        // <DefaultName>CordovaWP7_ + versionNum</DefaultName>
+        xNode = projXml.selectSingleNode("VSTemplate/TemplateData/DefaultName");
+        if(xNode != null)
+        {
+            // Log("replacing version in DefaultName");
+            xNode.text = cleanVersionName  + '_';
+        }
+
+        xNode = projXml.selectSingleNode("VSTemplate/TemplateData/Description");
+        if(xNode != null)
+        {
+           xNode.text = xNode.text.replace("0.0.0", versionNum);
+        }
+        projXml.save(fullTemplatePath);
+
+    }
 
-    replaceInFile(platformRoot + templatePath + '\\MyTemplate.vstemplate', name_regex,  'CordovaWP7_' + versionNum.replace(/\./g, '_'));
-    replaceInFile(platformRoot + templatePath + '\\MyTemplate.vstemplate', discript_regex,  "Cordova " + versionNum);
 
     zip_project(templateOutFilename, platformRoot + templatePath);
 
@@ -273,8 +300,8 @@ function parseArgs() {
 
     if(args.Count() > 0) {
 
-        //Support help flags -help, --help, /? 
-        if(args(0).indexOf("-help") > -1 || 
+        //Support help flags -help, --help, /?
+        if(args(0).indexOf("-help") > -1 ||
            args(0).indexOf("/?") > -1 ) {
             Usage();
             WScript.Quit(1);

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/85245bfe/wp8/template/MyTemplate.vstemplate
----------------------------------------------------------------------
diff --git a/wp8/template/MyTemplate.vstemplate b/wp8/template/MyTemplate.vstemplate
index 24b8f7a..939d07e 100644
--- a/wp8/template/MyTemplate.vstemplate
+++ b/wp8/template/MyTemplate.vstemplate
@@ -1,100 +1,100 @@
 <VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
-  <TemplateData>
-    <Name>CordovaWP8_0_0_0</Name>
-    <Description>Starter project for building a Cordova app for Windows Phone 8 version: 0.0.0</Description>
-    <ProjectType>CSharp</ProjectType>
-    <ProjectSubType>
-    </ProjectSubType>
-    <SortOrder>1000</SortOrder>
-    <CreateNewFolder>true</CreateNewFolder>
-    <DefaultName>CordovaWP8_0_0_0</DefaultName>
-    <ProvideDefaultName>true</ProvideDefaultName>
-    <LocationField>Enabled</LocationField>
-    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
-    <Icon>__TemplateIcon.png</Icon>
-    <PreviewImage>__PreviewImage.jpg</PreviewImage>
-  </TemplateData>
-  <TemplateContent>
-    <Project TargetFileName="CordovaWP8AppProj.csproj" File="CordovaWP8AppProj.csproj" ReplaceParameters="true">
-      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
-      <Folder Name="cordova" TargetFolderName="cordova">
-        <ProjectItem ReplaceParameters="false" TargetFileName="build.bat">build.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="clean.bat">clean.bat</ProjectItem>
-        <Folder Name="lib" TargetFolderName="lib">
-          <ProjectItem ReplaceParameters="true" TargetFileName="build.js">build.js</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="clean.js">clean.js</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="deploy.js">deploy.js</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="install-device.bat">install-device.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="install-emulator.bat">install-emulator.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-devices.bat">list-devices.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-emulator-images.bat">list-emulator-images.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="list-started-emulators.bat">list-started-emulators.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="log.js">log.js</ProjectItem>
-          <ProjectItem ReplaceParameters="false" TargetFileName="start-emulator.bat">start-emulator.bat</ProjectItem>
-          <ProjectItem ReplaceParameters="true" TargetFileName="target-list.js">target-list.js</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="false" TargetFileName="log.bat">log.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="run.bat">run.bat</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="version.bat">version.bat</ProjectItem>
-      </Folder>
-      <Folder Name="cordovalib" TargetFolderName="cordovalib">
-        <Folder Name="Commands" TargetFolderName="Commands">
-          <ProjectItem ReplaceParameters="true" TargetFileName="BaseCommand.cs">BaseCommand.cs</ProjectItem>
-        </Folder>
-        <Folder Name="JSON" TargetFolderName="JSON">
-          <ProjectItem ReplaceParameters="true" TargetFileName="JsonHelper.cs">JsonHelper.cs</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="true" TargetFileName="BrowserMouseHelper.cs">BrowserMouseHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CommandFactory.cs">CommandFactory.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ConfigHandler.cs">ConfigHandler.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ConsoleHelper.cs">ConsoleHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaCommandCall.cs">CordovaCommandCall.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml">CordovaView.xaml</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml.cs">CordovaView.xaml.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="IBrowserDecorator.cs">IBrowserDecorator.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ImageExifHelper.cs">ImageExifHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="MimeTypeMapper.cs">MimeTypeMapper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="NativeExecution.cs">NativeExecution.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="OrientationHelper.cs">OrientationHelper.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="PluginResult.cs">PluginResult.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="ScriptCallback.cs">ScriptCallback.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="XHRHelper.cs">XHRHelper.cs</ProjectItem>
-      </Folder>
-      <Folder Name="Images" TargetFolderName="Images">
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.back.rest.png">appbar.back.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.close.rest.png">appbar.close.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.feature.video.rest.png">appbar.feature.video.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.next.rest.png">appbar.next.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.save.rest.png">appbar.save.rest.png</ProjectItem>
-        <ProjectItem ReplaceParameters="false" TargetFileName="appbar.stop.rest.png">appbar.stop.rest.png</ProjectItem>
-      </Folder>
-      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
-      <ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
-      <Folder Name="Properties" TargetFolderName="Properties">
-        <ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
-        <ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
-      </Folder>
-      <Folder Name="Service References" TargetFolderName="Service References" />
-      <ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
-      <ProjectItem ReplaceParameters="false" TargetFileName="VERSION">VERSION</ProjectItem>
-      <Folder Name="www" TargetFolderName="www">
-        <ProjectItem ReplaceParameters="true" TargetFileName="cordova.js">cordova.js</ProjectItem>
-        <Folder Name="css" TargetFolderName="css">
-          <ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
-        </Folder>
-        <Folder Name="img" TargetFolderName="img">
-          <ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
-        </Folder>
-        <ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
-        <Folder Name="js" TargetFolderName="js">
-          <ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
-        </Folder>
-      </Folder>
-    </Project>
-  </TemplateContent>
-</VSTemplate>
\ No newline at end of file
+	<TemplateData>
+		<Name>CordovaWP8_3_1_0-rc1</Name>
+		<Description>Starter project for building a Cordova app for Windows Phone 8 version: 3.1.0-rc1</Description>
+		<ProjectType>CSharp</ProjectType>
+		<ProjectSubType>
+		</ProjectSubType>
+		<SortOrder>1000</SortOrder>
+		<CreateNewFolder>true</CreateNewFolder>
+		<DefaultName>CordovaWP8_3.1.0-rc1</DefaultName>
+		<ProvideDefaultName>true</ProvideDefaultName>
+		<LocationField>Enabled</LocationField>
+		<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
+		<Icon>__TemplateIcon.png</Icon>
+		<PreviewImage>__PreviewImage.jpg</PreviewImage>
+	</TemplateData>
+	<TemplateContent>
+		<Project TargetFileName="CordovaWP8AppProj.csproj" File="CordovaWP8AppProj.csproj" ReplaceParameters="true">
+			<ProjectItem ReplaceParameters="true" TargetFileName="App.xaml">App.xaml</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="App.xaml.cs">App.xaml.cs</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="ApplicationIcon.png">ApplicationIcon.png</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="Background.png">Background.png</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="config.xml">config.xml</ProjectItem>
+			<Folder Name="cordova" TargetFolderName="cordova">
+				<ProjectItem ReplaceParameters="false" TargetFileName="build.bat">build.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="clean.bat">clean.bat</ProjectItem>
+				<Folder Name="lib" TargetFolderName="lib">
+					<ProjectItem ReplaceParameters="true" TargetFileName="build.js">build.js</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="clean.js">clean.js</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="deploy.js">deploy.js</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="install-device.bat">install-device.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="install-emulator.bat">install-emulator.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-devices.bat">list-devices.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-emulator-images.bat">list-emulator-images.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="list-started-emulators.bat">list-started-emulators.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="log.js">log.js</ProjectItem>
+					<ProjectItem ReplaceParameters="false" TargetFileName="start-emulator.bat">start-emulator.bat</ProjectItem>
+					<ProjectItem ReplaceParameters="true" TargetFileName="target-list.js">target-list.js</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="false" TargetFileName="log.bat">log.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="run.bat">run.bat</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="version.bat">version.bat</ProjectItem>
+			</Folder>
+			<Folder Name="cordovalib" TargetFolderName="cordovalib">
+				<Folder Name="Commands" TargetFolderName="Commands">
+					<ProjectItem ReplaceParameters="true" TargetFileName="BaseCommand.cs">BaseCommand.cs</ProjectItem>
+				</Folder>
+				<Folder Name="JSON" TargetFolderName="JSON">
+					<ProjectItem ReplaceParameters="true" TargetFileName="JsonHelper.cs">JsonHelper.cs</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="true" TargetFileName="BrowserMouseHelper.cs">BrowserMouseHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CommandFactory.cs">CommandFactory.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ConfigHandler.cs">ConfigHandler.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ConsoleHelper.cs">ConsoleHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaCommandCall.cs">CordovaCommandCall.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml">CordovaView.xaml</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="CordovaView.xaml.cs">CordovaView.xaml.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="IBrowserDecorator.cs">IBrowserDecorator.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ImageExifHelper.cs">ImageExifHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="MimeTypeMapper.cs">MimeTypeMapper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="NativeExecution.cs">NativeExecution.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="OrientationHelper.cs">OrientationHelper.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="PluginResult.cs">PluginResult.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="ScriptCallback.cs">ScriptCallback.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="XHRHelper.cs">XHRHelper.cs</ProjectItem>
+			</Folder>
+			<Folder Name="Images" TargetFolderName="Images">
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.back.rest.png">appbar.back.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.close.rest.png">appbar.close.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.feature.video.rest.png">appbar.feature.video.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.next.rest.png">appbar.next.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.save.rest.png">appbar.save.rest.png</ProjectItem>
+				<ProjectItem ReplaceParameters="false" TargetFileName="appbar.stop.rest.png">appbar.stop.rest.png</ProjectItem>
+			</Folder>
+			<ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml">MainPage.xaml</ProjectItem>
+			<ProjectItem ReplaceParameters="true" TargetFileName="MainPage.xaml.cs">MainPage.xaml.cs</ProjectItem>
+			<Folder Name="Properties" TargetFolderName="Properties">
+				<ProjectItem ReplaceParameters="true" TargetFileName="AppManifest.xml">AppManifest.xml</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
+				<ProjectItem ReplaceParameters="true" TargetFileName="WMAppManifest.xml">WMAppManifest.xml</ProjectItem>
+			</Folder>
+			<Folder Name="Service References" TargetFolderName="Service References"/>
+			<ProjectItem ReplaceParameters="false" TargetFileName="SplashScreenImage.jpg">SplashScreenImage.jpg</ProjectItem>
+			<ProjectItem ReplaceParameters="false" TargetFileName="VERSION">VERSION</ProjectItem>
+			<Folder Name="www" TargetFolderName="www">
+				<ProjectItem ReplaceParameters="true" TargetFileName="cordova.js">cordova.js</ProjectItem>
+				<Folder Name="css" TargetFolderName="css">
+					<ProjectItem ReplaceParameters="true" TargetFileName="index.css">index.css</ProjectItem>
+				</Folder>
+				<Folder Name="img" TargetFolderName="img">
+					<ProjectItem ReplaceParameters="false" TargetFileName="logo.png">logo.png</ProjectItem>
+				</Folder>
+				<ProjectItem ReplaceParameters="true" TargetFileName="index.html">index.html</ProjectItem>
+				<Folder Name="js" TargetFolderName="js">
+					<ProjectItem ReplaceParameters="true" TargetFileName="index.js">index.js</ProjectItem>
+				</Folder>
+			</Folder>
+		</Project>
+	</TemplateContent>
+</VSTemplate>

http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/85245bfe/wp8/tooling/scripts/createTemplates.js
----------------------------------------------------------------------
diff --git a/wp8/tooling/scripts/createTemplates.js b/wp8/tooling/scripts/createTemplates.js
index c61f34b..37aa1e7 100644
--- a/wp8/tooling/scripts/createTemplates.js
+++ b/wp8/tooling/scripts/createTemplates.js
@@ -36,8 +36,8 @@ var versionNum ='0.0.0';
 
 var platformRoot = WScript.ScriptFullName.split('\\tooling\\', 1);
 
-//  set with the -install switch, default false 
-var addToVS = false; 
+//  set with the -install switch, default false
+var addToVS = false;
 
 // help function
 function Usage() {
@@ -145,7 +145,7 @@ function copyFile(src,dest) {
 function copyCommonItemsToTemplate() {
     var srcPath = repoRoot + '\\common';
     var destPath = platformRoot + templatePath;
-    
+
     var folder = fso.GetFolder(srcPath);
     // iterate over the files in the folder
     for (var files = new Enumerator(folder.files) ; !files.atEnd() ; files.moveNext()) {
@@ -155,7 +155,7 @@ function copyCommonItemsToTemplate() {
     // iterate over the child folders in the folder
     for (var subFlds = new Enumerator(folder.SubFolders) ; !subFlds.atEnd() ; subFlds.moveNext()) {
         //Log("Folder: " + srcPath + "\\" + subFlds.item().name);
-        exec('%comspec% /c xcopy /Y /E /I ' + srcPath + "\\" + subFlds.item().name + " " 
+        exec('%comspec% /c xcopy /Y /E /I ' + srcPath + "\\" + subFlds.item().name + " "
             + destPath + "\\" + subFlds.item().name);
     }
 }
@@ -180,7 +180,7 @@ function package_templates()
 {
     Log("Creating template .zip files for wp8");
     var templateOutFilename = repoRoot + '\\CordovaWP8_' + versionNum.replace(/\./g, '_') + '.zip';
-    
+
     // clear the destination
     deleteFileIfExists(templateOutFilename);
 
@@ -192,17 +192,67 @@ function package_templates()
     deleteFileIfExists(platformRoot + templatePath + "\\CordovaWP8Solution.v11.suo");
 
     //exec('%comspec% /c xcopy /Y /E /I ' + repoRoot + '\\Plugins ' + platformRoot + templatePath + '\\Plugins');
-    
+
     copyCommonItemsToTemplate();
 
     copyFile(repoRoot + '\\VERSION',platformRoot + templatePath);
 
     // update .vstemplate files for the template zips.
-    var name_regex = /CordovaWP8[_](\d+)[_](\d+)[_](\d+)(rc\d)?/g;
-    var discript_regex = /Cordova\s*(\d+)[.](\d+)[.](\d+)(rc\d)?/;
 
-    replaceInFile(platformRoot + templatePath + '\\MyTemplate.vstemplate', name_regex,  'CordovaWP8_' + versionNum.replace(/\./g, '_'));
-    replaceInFile(platformRoot + templatePath + '\\MyTemplate.vstemplate', discript_regex,  "Cordova " + versionNum);
+    var cleanVersionName = "CordovaWP8_" + versionNum.replace(/\./g, '_');
+
+    var projXml = WScript.CreateObject("Microsoft.XMLDOM");
+    projXml.async = false;
+    var fullTemplatePath = platformRoot + templatePath + '\\MyTemplate.vstemplate';
+    if (projXml.load(fullTemplatePath)) {
+
+        // <Name>CordovaWP8_ + versionNum.replace(/\./g, '_')</Name>
+        var xNode = projXml.selectSingleNode("VSTemplate/TemplateData/Name");
+        if(xNode != null)
+        {
+            // Log("replacing version in Name");
+            xNode.text = cleanVersionName;
+        }
+
+        // <DefaultName>CordovaWP8_ + versionNum</DefaultName>
+        xNode = projXml.selectSingleNode("VSTemplate/TemplateData/DefaultName");
+        if(xNode != null)
+        {
+            // Log("replacing version in DefaultName");
+            xNode.text = cleanVersionName  + '_';
+        }
+
+        xNode = projXml.selectSingleNode("VSTemplate/TemplateData/Description");
+        if(xNode != null)
+        {
+           xNode.text = xNode.text.replace("0.0.0", versionNum);
+        }
+        projXml.save(fullTemplatePath);
+
+    }
+
+
+    // Use proper XML-DOM named nodes and replace them with cordova current version
+    var projXml = WScript.CreateObject("Microsoft.XMLDOM");
+    projXml.async = false;
+    if (projXml.load(platformRoot + templatePath + '\\MyTemplate.vstemplate')) {
+
+        // <Name>CordovaWP7_ + versionNum.replace(/\./g, '_')</Name>
+        var xNode = projXml.selectSingleNode("VSTemplate/TemplateData/Name");
+        if(xNode != null)
+        {
+           xNode.text = "CordovaWP8_" + versionNum.replace(/\./g, '_');
+        }
+
+        // <DefaultName>CordovaWP7_ + versionNum</DefaultName>
+        xNode = projXml.selectSingleNode("VSTemplate/TemplateData/DefaultName");
+        if(xNode != null)
+        {
+           xNode.text = "CordovaWP8_" + versionNum;
+        }
+
+        projXml.save(platformRoot + templatePath + '\\MyTemplate.vstemplate');
+    }
 
     zip_project(templateOutFilename, platformRoot + templatePath);
 
@@ -267,8 +317,8 @@ function cleanUp() {
 function parseArgs() {
     if(args.Count() > 0) {
 
-        //Support help flags -help, --help, /? 
-        if(args(0).indexOf("-help") > -1 || 
+        //Support help flags -help, --help, /?
+        if(args(0).indexOf("-help") > -1 ||
            args(0).indexOf("/?") > -1 ) {
             Usage();
             WScript.Quit(1);