diff --git a/app/build/resources/win/mailspring-150px.png b/app/build/resources/win/mailspring-150px.png
new file mode 100644
index 000000000..9b02eb12a
Binary files /dev/null and b/app/build/resources/win/mailspring-150px.png differ
diff --git a/app/build/resources/win/mailspring-75px.png b/app/build/resources/win/mailspring-75px.png
new file mode 100644
index 000000000..d004631f5
Binary files /dev/null and b/app/build/resources/win/mailspring-75px.png differ
diff --git a/app/build/resources/win/mailspring-square.ico b/app/build/resources/win/mailspring-square.ico
new file mode 100644
index 000000000..0353b5392
Binary files /dev/null and b/app/build/resources/win/mailspring-square.ico differ
diff --git a/app/build/resources/win/mailspring.VisualElementsManifest.xml b/app/build/resources/win/mailspring.VisualElementsManifest.xml
new file mode 100644
index 000000000..cffe963d5
--- /dev/null
+++ b/app/build/resources/win/mailspring.VisualElementsManifest.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/app/build/tasks/package-task.js b/app/build/tasks/package-task.js
index db1533dcc..811699f48 100644
--- a/app/build/tasks/package-task.js
+++ b/app/build/tasks/package-task.js
@@ -17,9 +17,14 @@ module.exports = grunt => {
function runCopyPlatformSpecificResources(buildPath, electronVersion, platform, arch, callback) {
// these files (like nylas-mailto-default.reg) go alongside the ASAR,
// not inside it, so we need to move out of the `app` directory.
- const resourcesDir = path.resolve(buildPath, '..');
+ const winResourcesSource = path.resolve(grunt.config('appDir'), 'build', 'resources', 'win');
+ const winResourcesTarget = path.resolve(buildPath, '..');
if (platform === 'win32') {
- fs.copySync(path.resolve(grunt.config('appDir'), 'build', 'resources', 'win'), resourcesDir);
+ fs.copySync(winResourcesSource, winResourcesTarget);
+ fs.copySync(
+ path.join(winResourcesSource, 'mailspring.VisualElementsManifest.xml'),
+ path.resolve(buildPath, '..', '..', 'mailspring.VisualElementsManifest.xml')
+ );
}
callback();
}
diff --git a/app/src/browser/windows-updater.js b/app/src/browser/windows-updater.js
index 6af22f123..a7b2ba301 100644
--- a/app/src/browser/windows-updater.js
+++ b/app/src/browser/windows-updater.js
@@ -6,36 +6,36 @@
* Read: https://github.com/electron/electron/blob/master/docs/api/auto-updater.md#windows
*
* When Mailspring gets installed on a Windows machine it gets put in:
- * C:\Users\\AppData\Local\NylasMail\app-x.x.x
+ * C:\Users\\AppData\Local\Mailspring\app-x.x.x
*
* The `process.execPath` is:
- * C:\Users\\AppData\Local\NylasMail\app-x.x.x\nylas.exe
+ * C:\Users\\AppData\Local\Mailspring\app-x.x.x\nylas.exe
*
* We manually copy everything in build/resources/win into a 'resources' folder
* located inside the main app directory. See runCopyPlatformSpecificResources
* in package-task.js
*
* This means `__dirname` should be:
- * C:\Users\\AppData\Local\NylasMail\app-x.x.x\resources
+ * C:\Users\\AppData\Local\Mailspring\app-x.x.x\resources
*
* We also expect Squirrel Windows to have a file called `nylas.exe` at:
- * C:\Users\\AppData\Local\NylasMail\nylas.exe
+ * C:\Users\\AppData\Local\Mailspring\nylas.exe
*/
const ChildProcess = require('child_process');
const fs = require('fs-plus');
const path = require('path');
const os = require('os');
-// C:\Users\\AppData\Local\NylasMail\app-x.x.x
+// C:\Users\\AppData\Local\Mailspring\app-x.x.x
const appFolder = path.resolve(process.execPath, '..');
-// C:\Users\\AppData\Local\NylasMail\
-const rootN1Folder = path.resolve(appFolder, '..');
+// C:\Users\\AppData\Local\Mailspring\
+const rootAppDataFolder = path.resolve(appFolder, '..');
-// C:\Users\\AppData\Local\NylasMail\Update.exe
-const updateDotExe = path.join(rootN1Folder, 'Update.exe');
+// C:\Users\\AppData\Local\Mailspring\Update.exe
+const updateDotExe = path.join(rootAppDataFolder, 'Update.exe');
-// "nylas.exe"
+// "mailspring.exe"
const exeName = path.basename(process.execPath);
// Spawn a command and invoke the callback when it completes with an error
@@ -94,7 +94,7 @@ function createRegistryEntries({ allowEscalation, registerDefaultIfPossible }, c
const requiresLocalMachine = isWindows7;
// On Windows 7, we must write to LOCAL_MACHINE and need escalated privileges.
- // Don't do it at install time - wait for the user to ask N1 to be the default.
+ // Don't do it at install time - wait for the user to ask Mailspring to be the default.
if (requiresLocalMachine && !allowEscalation) {
callback();
return;
@@ -122,7 +122,7 @@ function createRegistryEntries({ allowEscalation, registerDefaultIfPossible }, c
const importTemplate = data.toString();
let importContents = importTemplate.replace(
/{{PATH_TO_ROOT_FOLDER}}/g,
- escapeBackticks(rootN1Folder)
+ escapeBackticks(rootAppDataFolder)
);
importContents = importContents.replace(
/{{PATH_TO_APP_FOLDER}}/g,
@@ -176,10 +176,10 @@ exports.createShortcuts = createShortcuts;
exports.removeShortcuts = removeShortcuts;
exports.createRegistryEntries = createRegistryEntries;
-// Is the Update.exe installed with N1?
+// Is the Update.exe installed with Mailspring?
exports.existsSync = () => fs.existsSync(updateDotExe);
-// Restart N1 using the version pointed to by the N1.cmd shim
+// Restart Mailspring using the version pointed to by the Mailspring.cmd shim
exports.restartMailspring = app => {
app.once('will-quit', () => {
spawnUpdate(['--processStart', exeName], () => {}, { detached: true });