GithubHelp home page GithubHelp logo

grunt-electron-installer's People

Contributors

anaisbetts avatar fscherwi avatar havenchyk avatar kevinsawicki avatar maxbrunsfeld avatar michaelbazos avatar ssboisen avatar techninja avatar tnm avatar zcbenz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grunt-electron-installer's Issues

grunt task fails with: File not found: 'MyAtomShellApp.exe'

Why is the task not finding the exe file in the appDirectory? The exe DOES exist in the appDirectory ../bin/app/win32/atom-shell/resources/app.

It fails with this message:

$ grunt
...
Running "create-windows-installer" task
>>File not found: 'MyAtomShellApp.exe'.
Warning: Command failed: File not found: 'MyAtomShellApp.exe'.
  ...
Aborted due to warnings

Here are my files:

package.json:

{
  "name": "MyAtomShellApp",
  "version": "1.0.0",
  "description": "...",
  "main": "index.js",
  "author": "...",
  "license": "ISC",
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-atom-shell-app-builder": "0.0.7",
    "grunt-atom-shell-installer": "^0.13.1",
  }

Gruntfile.coffee:

module.exports = (grunt) ->
  grunt.initConfig
    'build-atom-shell-app':
      options:
        cache_dir: '../bin/atom'
        app_dir: './'
        build_dir: '../bin/app'
        platforms: ['linux64', 'win32']
    'create-windows-installer':
      appDirectory: '../bin/app/win32/atom-shell/resources/app'
      outputDirectory: '../bin/installer/'
      authors: '...'

  grunt.loadNpmTasks 'grunt-atom-shell-app-builder'
  grunt.loadNpmTasks 'grunt-atom-shell-installer'

  grunt.registerTask 'default', [
      'build-atom-shell-app',
      'create-windows-installer'
    ]

My app has this folder structure:

bin/
src/
  index.js
  package.json
  Gruntfile.coffee

Can't create Desktop and Start Menu Icon

Can someone point in the right direction?

I've built the installer and I'm able to run the app, I just can't figure out how to create the shortcuts.
It seems the code will go in the squirrelCommand switch in my main .js file, can anyone show me an example?

Thanks!

Error: Unable to read resources\app\package.json

When I run grunt create-windows-installer I receive the following error:

Running "create-windows-installer:x64" (create-windows-installer) task Warning: Unable to read "F:\app\build\my-app-64\resources\app\package.json" file (Error code: ENOENT). Use --force to continue.

Here is my Gruntfile.js...

module.exports = function(grunt) {
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-electron-installer');

  grunt.initConfig({
    'create-windows-installer': {
      x64: {
        appDirectory: 'build/my-app-64',
        outputDirectory: 'build/installer64',
        authors: 'My Company',
        exe: 'myapp.exe'
      },
      ia32: {
        appDirectory: 'build/my-app-32',
        outputDirectory: 'build/installer32',
        authors: 'My Company',
        exe: 'myapp.exe'
      }
    },
    'clean': [ "build" ]
  });
}

I'm a little confused as to why this this task is trying to find package.json in resources\app? I don't actually have a resources directory. My package.json file sits beside my Gruntfile.js in F:\app.

Thanks for any help :)

Command path generated is too long, can't create installer

I'm not sure how everyone else has been able to get theirs working, but I've been completely unable to get this going. Using Windows 7, x64, MSVS 2013 Express Desktop. When running grunt create-windows-installer, I get the following when building the installer for my robopaint project:

>> The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Warning: Command failed: C:\rpb\node_modules\grunt-electron-installer\vendor\nuget.exe pack C:\Users\TECHNI~1\AppData\Local\Temp\squirrel-installer-115620-7836-vbwmay\robopaint.nuspec -BasePath C:\rpb\out\Robopaint-win32
-x64 -OutputDirectory C:\Users\TECHNI~1\AppData\Local\Temp\squirrel-installer-115620-7836-vbwmay -NoDefaultExcludes
The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
 Use --force to continue.

I suspec that AppData as the temp location may be to blame for path character bloat, but wow the mere fact that there's a limit sure is annoying. I did find this:

Maximum Path Length Limitation

In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string" where "" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)
Note File I/O functions in the Windows API convert "/" to "" as part of converting the name to an NT-style name, except when using the "?" prefix as detailed in the following sections.

The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "?" prefix. For example, "?\D:\very long path".
Note The maximum path of 32,767 characters is approximate, because the "?" prefix may be expanded to a longer string by the system at run time, and this expansion applies to the total length.

The "?" prefix can also be used with paths constructed according to the universal naming convention (UNC). To specify such a path using UNC, use the "?\UNC" prefix. For example, "?\UNC\server\share", where "server" is the name of the computer and "share" is the name of the shared folder. These prefixes are not used as part of the path itself. They indicate that the path should be passed to the system with minimal modification, which means that you cannot use forward slashes to represent path separators, or a period to represent the current directory, or double dots to represent the parent directory. Because you cannot use the "?" prefix with a relative path, relative paths are always limited to a total of MAX_PATH characters.

Makes me think if we initiate this command with \\?\ this wouldn't be an issue? Hmm.

I've tried setting the global npm tmp via npm config set tmp "C:\tmp", but it didn't seem to actually change it when the script runs. Any ideas?

Issue with prereleases coming from nuget.semanticversion

So we're trying to build prerelease versions with names like 3.2.1-RC4, but nuget semver is throwing weird errors where it strips out most of the version number.

Running "create-windows-installer:latest" (create-windows-installer) task
>> System.ArgumentException: '4' is not a valid version string.
>> Parameter name: version
>>    at NuGet.SemanticVersion.Parse(String version)
>>    at Squirrel.VersionExtensions.ToSemanticVersion(String fileName)
>>    at Squirrel.ReleaseEntry.<WriteReleaseFile>b__6(ReleaseEntry x)
>>    at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
>>    at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
>>    at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
>>    at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
>>    at System.String.Join(String separator, IEnumerable`1 values)
>>    at Squirrel.ReleaseEntry.WriteReleaseFile(IEnumerable`1 releaseEntries, Stream stream)
>>    at Squirrel.ReleaseEntry.WriteReleaseFile(IEnumerable`1 releaseEntries, String path)
>>    at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi)
>>    at Squirrel.Update.Program.executeCommandLine(String[] args)
>>    at Squirrel.Update.Program.main(String[] args)
>>    at Squirrel.Update.Program.Main(String[] args)
Warning: Command failed: C:\projects\GitKraken\build\node_modules\grunt-electron-installer\vendor\Update.com --releasify C:\Users\appveyor\AppData\Local\Temp\1\si1151024-2184-1gv97u2\gitkraken.3.2.1-RC4.nupkg --releaseDir C:
\projects\GitKraken\dist --loadingGif C:\projects\GitKraken\resources\win\installerImage.gif --signWithParams /a /f "C:\projects\GitKraken\vendor\windows_codesigning_cert.pfx" /p "asdf"
System.ArgumentException: '4' is not a valid version string.
Parameter name: version
   at NuGet.SemanticVersion.Parse(String version)
   at Squirrel.VersionExtensions.ToSemanticVersion(String fileName)
   at Squirrel.ReleaseEntry.<WriteReleaseFile>b__6(ReleaseEntry x)
   at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
   at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
   at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.String.Join(String separator, IEnumerable`1 values)
   at Squirrel.ReleaseEntry.WriteReleaseFile(IEnumerable`1 releaseEntries, Stream stream)
   at Squirrel.ReleaseEntry.WriteReleaseFile(IEnumerable`1 releaseEntries, String path)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
   at Squirrel.Update.Program.Main(String[] args)
Use --force to continue.

Aborted due to warnings.

Now, in nuget's semver specs it says soemthing like 3.2.1-RC.4 is not allowed, but something without the period in the component after the - is. This module is even splitting on that -, and removing all of the periods in the tailing component of the version to match that. It appears however that they're somehow stripping down everything before the -, and then their semver parse is stripping off the text before numbers. Is this a known issue (with nuget, squirrel, grunt-electron-installer, or commonly in end-user code)?

Continuou Integration

Hi guys,

There's any possibility to integrate grunt-electron-installer with some Continuous Integration service for Continuous Delivery purposes?

Thank you.

Description option is required

I have error "Description is required." After I added descriptions in package.json, everything is ok.
It's not very important, but...

Generated version it's not correct

I have an app that it's on version 0.1.112 all was fine until i updated to latest version, the instaler generated App-0.1.112-full.nupkg (older version) for newest version is generating App-0.1112-full.nupkg and this is because of this line

metadata.version = metadata.version.replace(/.(\d+)$/, '$1');

Allow different styles of signing parameters

I'd like to be able to sign with a key already installed on our build machine, which requires a different set of arguments than certificateFile and certificatePassword arguments can account for.

Any objections to adding a signWithParams argument that just gets passed through to squirrel? Should I deprecate and/or remove certificateFile and certificatePassword at the same time?

The alternative for me would be adding keystoreName and certificateName arguments (corresponding to /s and /n arguments to signtool.exe, respectively).

Preferences?

can't install on windows

calling npm install grunt-atom-shell-installer --save-dev
Windows 8.1

nstaller\node_modules\asar\node_modules\chromium-pickle
> node-gyp rebuild


E:\Projects\test\node_modules\grunt-atom-shell-installer\node_modules\asar\node_modules\chromium-pickle>node "c:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
gyp ERR! configure error
gyp ERR! stack Error: spawn ENOENT
gyp ERR! stack     at exports._errnoException (util.js:742:11)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1028:32)
gyp ERR! stack     at child_process.js:1109:20
gyp ERR! stack     at process._tickCallback (node.js:343:11)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "c:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd E:\Projects\test\node_modules\grunt-atom-shell-installer\node_modules\asar\node_modules\chromium-pickle
gyp ERR! node -v v0.11.13
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the chromium-pickle package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls chromium-pickle
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "grunt-atom-shell-installer" "--save-dev"
npm ERR! cwd E:\Projects\test
npm ERR! node -v v0.11.13
npm ERR! npm -v 1.4.9


npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     E:\Projects\test\npm-debug.log
npm ERR! not ok code 0

full log http://www.filedropper.com/npm-debug

The process cannot access the file

Trying to create an electron build. This is the error I get from grunt:

Running "create-windows-installer:ia32" (create-windows-installer) task
>> System.IO.IOException: The process cannot access the file 'C:\tmp\installer32
\sling-bridge.0.1.0.nupkg' because it is being used by another process.
>>    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
>>    at System.IO.File.InternalDelete(String path, Boolean checkHost)
>>    at System.IO.File.Delete(String path)
>>    at Squirrel.Update.Program.Releasify(String package, String targetDir, Str
ing packagesDir, String bootstrapperExe, String backgroundGif, String signingOpt
s, String baseUrl, String setupIcon)
>>    at Squirrel.Update.Program.executeCommandLine(String[] args)
>>    at Squirrel.Update.Program.main(String[] args)
>>    at Squirrel.Update.Program.Main(String[] args)
Warning: Command failed: C:\Users\Sling\app\node_modules\grunt-electron-installe
r\vendor\Update.com --releasify C:\Users\Sling\AppData\Local\Temp\squirrel-insta
ller-115727-2100-1hk65vl\sling-bridge.0.1.0.nupkg --releaseDir C:\tmp\installer3
2 --loadingGif C:\Users\Sling\app\node_modules\grunt-electron-installer\resource
s\install-spinner.gif
System.IO.IOException: The process cannot access the file 'C:\tmp\installer32\sl
ing-bridge.0.1.0.nupkg' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalDelete(String path, Boolean checkHost)
   at System.IO.File.Delete(String path)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String
 packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts,
String baseUrl, String setupIcon)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
   at Squirrel.Update.Program.Main(String[] args)
 Use --force to continue.

Aborted due to warnings.

I have double and triple checked and there is no process running that could be the cause of this (at least not before running grunt)

Any ideas?

Setup.exe error dialog

i run grunt create-windows-installer
after a couple of minutes it says Done, without errors
but when i go to the output folder, there are the normal three files as expected, the RELEASES, .nupkg and .exe
when i execute the setup.exe file, it shows an error dialog saying:
This is a dummy update,exe, if you are seeing this, your build did not correctly replace the IDR_UPDATE_ZIP resource.
Command Line: '--install.'

i don´t know if this is really an issue or i missing something obvious, but i´m kind of noob at this and i don´t know where else ask for a little help

this is my task config:

'create-windows-installer': {
x64: {
appDirectory: '/Portafolio/PortafolioSinapsis-win32-x64',
outputDirectory: '/build/installer64',
authors: 'Sinapsis-innovation',
remoteReleases: 'https://github.com/Sinapsis-Innovation/Portafolio-Sinapsis',
exe: 'PortafolioSinapsis.exe'
}
},

Thanks for your help

Squirrel not found

Hi,

I'm developing a windows application with electron, everything works fine but when I try update the app with the electron auto-updater module I receive a error "Squirrel not found".

What i'm missing?

Is possible use electron auto-updater module with this package?

squirrel.exe and Update.exe, which one can be depended on by my app?

After installation, there are 2 files -- <installation_dir>\Update.exe and <installation_dir>\app-x.y.z\squirrel.exe -- installed, and seems the same.

Why both of them exist? which one can be executed by my app (I want to use it to create shortcuts)? Are they guaranteed to exist in future versions of grunt-electron-installer?

Can't create installer on 0.36.0

My configuration:

'create-windows-installer': {
      appDirectory: _path.join('C:', 'projects', 'desktop', 'build', 'releases', 'win32', 'ia32', 'HackHands-win32'),
      outputDirectory: _path.join('C:', 'projects', 'desktop'),
      authors: 'HackHands',
      setupIcon: _path.join('C:', 'projects', 'desktop', 'fixtures', 'icon.ico'),
      remoteReleases: 'http://desktop.hackhands.com.s3-website-us-west-1.amazonaws.com/win/'+channel,
      loadingGif:  _path.join('C:', 'projects', 'desktop', 'fixtures', 'hh-logo-process.gif')
      //exe: 'HackhandsSetp.exe'
    },

And the output:

[00:02:56] grunt installer --verbose
[00:02:56] �[4mInitializing�[24m
[00:02:56] Command-line options: �[36m--verbose�[39m
[00:02:56] 
[00:02:56] Reading "Gruntfile.js" Gruntfile...�[32mOK�[39m
[00:02:56] 
[00:02:56] �[1mRegistering Gruntfile tasks.�[22m
[00:02:56] Channel: nightly
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-aws" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-aws\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-aws\package.json...�[32mOK�[39m
[00:02:56] 
[00:02:56] �[1mRegistering "C:\projects\desktop\node_modules\grunt-aws\tasks\services" tasks.�[22m
[00:02:56] Loading "cloudfront.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mcloudfront�[39m
[00:02:56] Loading "route53.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mroute53�[39m
[00:02:56] Loading "s3.js" tasks...�[32mOK�[39m
[00:02:56] + �[36ms3�[39m
[00:02:56] Loading "aws.js" tasks...�[32mOK�[39m
[00:02:56] �[31m>> �[39mNo tasks were registered or unregistered.
[00:02:56] Loading "cache-mgr.js" tasks...�[32mOK�[39m
[00:02:56] �[31m>> �[39mNo tasks were registered or unregistered.
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-contrib-clean" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-contrib-clean\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-contrib-clean\package.json...�[32mOK�[39m
[00:02:56] Loading "clean.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mclean�[39m
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-contrib-coffee" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-contrib-coffee\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-contrib-coffee\package.json...�[32mOK�[39m
[00:02:56] Loading "coffee.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mcoffee�[39m
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-contrib-compress" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-contrib-compress\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-contrib-compress\package.json...�[32mOK�[39m
[00:02:56] Loading "compress.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mcompress�[39m
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-contrib-copy" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-contrib-copy\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-contrib-copy\package.json...�[32mOK�[39m
[00:02:56] Loading "copy.js" tasks...�[32mOK�[39m
[00:02:56] + �[36mcopy�[39m
[00:02:56] 
[00:02:56] �[1mRegistering "grunt-contrib-less" local Npm module tasks.�[22m
[00:02:56] Reading C:\projects\desktop\node_modules\grunt-contrib-less\package.json...�[32mOK�[39m
[00:02:56] Parsing C:\projects\desktop\node_modules\grunt-contrib-less\package.json...�[32mOK�[39m
[00:02:57] Loading "less.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mless�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-contrib-sass" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-contrib-sass\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-contrib-sass\package.json...�[32mOK�[39m
[00:02:57] Loading "sass.js" tasks...�[32mOK�[39m
[00:02:57] + �[36msass�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-contrib-watch" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-contrib-watch\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-contrib-watch\package.json...�[32mOK�[39m
[00:02:57] Loading "watch.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mwatch�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-electron" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-electron\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-electron\package.json...�[32mOK�[39m
[00:02:57] Loading "electron.js" tasks...�[32mOK�[39m
[00:02:57] + �[36melectron�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-electron-installer" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-electron-installer\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-electron-installer\package.json...�[32mOK�[39m
[00:02:57] Loading "index.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mcreate-windows-installer�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-mkdir" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-mkdir\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-mkdir\package.json...�[32mOK�[39m
[00:02:57] Loading "mkdir.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mmkdir�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "grunt-shell" local Npm module tasks.�[22m
[00:02:57] Reading C:\projects\desktop\node_modules\grunt-shell\package.json...�[32mOK�[39m
[00:02:57] Parsing C:\projects\desktop\node_modules\grunt-shell\package.json...�[32mOK�[39m
[00:02:57] Loading "shell.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mshell�[39m
[00:02:57] 
[00:02:57] �[1mRegistering "tasks" tasks.�[22m
[00:02:57] Loading "install-task.coffee" tasks...�[32mOK�[39m
[00:02:57] + �[36minstall�[39m
[00:02:57] Loading "install-task.js" tasks...�[32mOK�[39m
[00:02:57] + �[36minstall�[39m
[00:02:57] Loading "mkdeb-task.coffee" tasks...�[32mOK�[39m
[00:02:57] + �[36mmkdeb�[39m
[00:02:57] Loading "mkdeb-task.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mmkdeb�[39m
[00:02:57] Loading "mkrpm-task.coffee" tasks...�[32mOK�[39m
[00:02:57] + �[36mmkrpm�[39m
[00:02:57] Loading "mkrpm-task.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mmkrpm�[39m
[00:02:57] Loading "task-helpers.coffee" tasks...�[32mOK�[39m
[00:02:57] �[31m>> �[39mNo tasks were registered or unregistered.
[00:02:57] Loading "task-helpers.js" tasks...�[32mOK�[39m
[00:02:57] �[31m>> �[39mNo tasks were registered or unregistered.
[00:02:57] Initializing config...�[32mOK�[39m
[00:02:57] Loading "Gruntfile.js" tasks...�[32mOK�[39m
[00:02:57] + �[36mbuild�[39m, �[36mcompile�[39m, �[36mdist�[39m, �[36mdist-linux�[39m, �[36mdist-mac�[39m, �[36minstaller�[39m, �[36minstaller-beta�[39m, �[36minstaller-stable�[39m, �[36mlinux-generic�[39m, �[36mrelease-mac�[39m
[00:02:57] 
[00:02:57] Running tasks: �[36minstaller�[39m
[00:02:57] 
[00:02:57] �[4mRunning "installer" task�[24m
[00:02:57] 
[00:02:57] �[4mRunning "create-windows-installer" task�[24m
[00:02:57] 
[00:02:57] �[4mRunning "create-windows-installer:appDirectory" (create-windows-installer) task�[24m
[00:02:57] Verifying property �[36mcreate-windows-installer.appDirectory�[39m exists in config...�[32mOK�[39m
[00:02:57] Files: �[36mC:/projects/desktop/build/releases/win32/ia32/HackHands-win32�[39m -> �[36mappDirectory�[39m
[00:02:57] Verifying property �[36mcreate-windows-installer.appDirectory.appDirectory�[39m exists in config...�[32mOK�[39m
[00:02:57] �[33mWarning: Arguments to path.resolve must be strings� Use --force to continue.�[39m
[00:02:57] 
[00:02:57] �[31mAborted due to warnings.�[39m
[00:02:57] Command exited with code 3

Nothing happens running installer exe when app is already installed

When the app is already installed and the user tries to run the installer again, nothing happens. This has been confusing for a few of the testers in our app.

Could the installer display a dialog to let them know it's already installed or even just launch the app?

Or is it possible to handle this ourselves within the squirrel events handles?

about SyncReleases

I use remoteReleases in grunt config but nothing happens.

then i try call SyncReleases.exe directly

C:\Users\11399\Documents\GitHub\maotama\node_modules\grunt-electron-installer\vendor\SyncReleases.exe -u https://github.com/mycard/maotama-win32 -r C:\Users\11399\Documents\GitHub\maotama\release

and then i only got a empty RELEASE file.

the repo: https://github.com/mycard/maotama-win32

Configurable copyright string for installer executable

The Copyright string in the installer exe details is "Copyright (C) 2014" and appears it can't be edited unless using rcedit after the installer is generated.

I'd suggest using the package.json "license" value like it does with other details for the installer executable.

"System.IO.IOException: Process cannot access the file" during build.

Upon running "grunt create-windows-installer" I get the following error:

Running "create-windows-installer:x64" (create-windows-installer) task
>> System.IO.IOException: The process cannot access the file 'C:\temp\output\Nin
jaTerm.0.1.0.nupkg' because it is being used by another process.
>>    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
>>    at System.IO.File.InternalDelete(String path, Boolean checkHost)
>>    at System.IO.File.Delete(String path)
>>    at Squirrel.Update.Program.Releasify(String package, String targetDir, Str
ing packagesDir, String bootstrapperExe, String backgroundGif, String signingOpt
s, String baseUrl, String setupIcon)
>>    at Squirrel.Update.Program.executeCommandLine(String[] args)
>>    at Squirrel.Update.Program.main(String[] args)
>>    at Squirrel.Update.Program.Main(String[] args)

I have made sure the output directory is not in any cloud-syncing folder, and even run the command-line in administrator mode but no luck. I have tried putting the output file somewhere completely different on my computer but that didn't work either.

I am running Windows 8 64-bit.

iconUrl should accept local files

setupIcon does accept a local .ico file, is there any reason why it can't be the same for iconUrl (which should just be named icon then)?

spawn EACCES Error

When trying to run the task I keep getting the following error:

Running "create-windows-installer" task
Verifying property create-windows-installer.appDirectory exists in config...OK
Reading /Users/predixgo/Github/grunt-electron-installer/vendor/Update.exe...OK
Writing /Users/predixgo/GithubEnterprise/pg-atomshell-container/dist/pxgo-1-win/Update.exe...OK
Reading /Users/predixgo/GithubEnterprise/pg-atomshell-container/dist/pxgo-1-win/resources/app/package.json...OK
Parsing /Users/predixgo/GithubEnterprise/pg-atomshell-container/dist/pxgo-1-win/resources/app/package.json...OK
Reading /Users/predixgo/Github/grunt-electron-installer/template.nuspec...OK
Writing temp/pg-atomshell-container.nuspec...OK
Warning: spawn EACCES Use --force to continue.

Aborted due to warnings.

Any thoughts? I've tried fixing the permissions on pretty much every directory that would be touched by this task, and still no solution.

Squirrel events won't fire

I'm using the installer version 1.1.0 and as the docs say the app should run with squirrel-events as arguments but I only get the --squirrel-first-run flag, the install, updated, obsolete or uninstall are not getting fired at any time, even thou i´m able to update my app using the autoUpdater.

Versions are:

  • Electron 0.35.0
  • grunt-electron-installer 1.1.0
  • electron-packager 5.1.1

Build in Windows 10 x64

Any help is much appreciated.

How to attach release notes for electron's autoUpdater?

How to attach release notes? Do we have this feature now? Though it says release notes is not available for windows in electron's autoUpater docs, but I do find the code in electron's repo which get release notes from a json outputed by Squirrel.Windows at this line:

{releaseNotes, version} = update

and I find following lines seems like a test file (Sorry I'm not sure because I have no previous knowledge on Windows development) in Squirrel.Windows:

<releaseNotes>
## Release Notes for 1.1

1. Did some cool stuff
1. Did another thing
1. Did a third thing, pretty crazy!

Make *sure* to refrobulate the confabulator or **terrible things will happen!**
</releaseNotes>

So, if we don't support attach release notes for updates yet, is it possible to add a releaseNotes field to template.nuspec at root folder of this repo and replace its content when building a NuGet package? Or it has already supported this but I can't find that?

Doesn't create shortcuts

The task is creating my installers fine, and the installers work, however the shortcuts are not getting added in the right spots so I can only run the app by going through the AppData and launching it from there.

I'm using windows 8.1

Support for several build config (Grunt style)

The following gruntfile should be supported

...
"create-windows-installer": {
    "myfirstcfg" : {
        appDirectory: "some/path",
        outputDirectory: "target/path"
    },
   "anothercfg": {
        appDirectory: "another/path",
        outputDirectory: "target/other"
    }
},
...

But I get the following error when i run grunt create-windows-installer:myfirstcfg:

Required config property "create-windows-installer.appDirectory" missing

option for setting minimum install duration?

I was wondering if it would be plausible to add an option for minimum install time, like for example if you wanted the install to take at minimum 20 seconds to complete.

In my scenario I have a loading gif that I would like to finish its animation run before it is closed, not end of the world if its not a quick thing to do.

Setup.exe not working

If I run the task, everything works fine. The *.nupkg, the RELEASES and the Setup.exe are generated.

But if I run Setup.exe, the gif pops up for some seconds and then disappears again. So, nothing actually happens.
If I run it from the console no output is generated.

This is the output while the task is running:

Running "create-windows-installer" task
Verifying property create-windows-installer.appDirectory exists in config...OK
Reading D:\test\node_modules\grunt-atom-shell-installer\vendor\Update.exe...OK
Writing D:\atom-shell\out\Release\Update.exe...OK
Reading D:\test\node_modules\grunt-atom-shell-installer\template.nuspec...OK
Writing C:\Users\trixt\AppData\Local\Temp\squirrel-installer-115226-712-rsrv7z\test.nuspec...OK

What am I doing wrong? I am running this on Windows 10 x64 Technical Preview and the newest Node JS version.

-Trixt0r

can't install on windows

first I had a problem with python 3.4.2. I removed that version and installed 2.7.9.
But now I'm having this error:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB 8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build usi ng the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgrad e to the current Visual Studio tools by selecting the Project menu or right-click the solution, and th en selecting "Upgrade Solution...". [c:\git\gh\hello-atom\build\node_modules\grunt-atom-shell-installe r\node_modules\asar\node_modules\chromium-pickle\node_modules\native-mate\vendor\base-minimal\base.vcx proj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB 8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build usi ng the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgrad e to the current Visual Studio tools by selecting the Project menu or right-click the solution, and th en selecting "Upgrade Solution...". [c:\git\gh\hello-atom\build\node_modules\grunt-atom-shell-installe r\node_modules\asar\node_modules\chromium-pickle\node_modules\native-mate\native_mate.vcxproj]

Error installing in MS Server 2012

Hi,
I can't install this module on MS 2012 server. I am getting this following error

MSBUILD : error MSB4132: The tools version "2.0" is unrecognized. Available tools versions are "4.0".
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:2
69:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuil
d"
gyp ERR! cwd C:\pocketworks\Fresenius-pc\node_modules\grunt-electron-installer\node_modules\asar\node_modules\chromium-p
ickle
gyp ERR! node -v v0.12.3
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i
nstall"
npm ERR! node v0.12.3
npm ERR! npm  v2.9.1
npm ERR! code ELIFECYCLE

Is this anyway related to dotnet version..??

Can't change default atom-shell metadata icon

When installing the generated setup file, an atom-shell .ico file is placed in ./AppData/Local/myapp/app.ico. This icon is displayed in add remove programs (and maybe other places?).

I can't find any way to change this.

Browsing the source I found the undocumented iconUrl option, it defaults to the atom-shell icon. However, this option in the gruntfile has no result on the installed .ico file. I've tried absolute, relative, and public web url values with no luck.

'create-windows-installer': {
      appDirectory: 'dist/windows/build',
      outputDirectory: 'dist/windows/installer',
      iconUrl: '../resources/windows/myapp.ico',
      setupIcon: '../resources/windows/myapp.ico',
      certificateFile: '../resources/windows/cert.p12',
      certificatePassword: 'xxxxxxxx',
      loadingGif: '../resources/windows/installer.gif'
}

Getting outofmemoryexception seemingly randomly after install finishes

So the error happens whenthe installer is still running, but it's finished copying files, and throws up the "there's been an error" type message popup. Checking the log gives

Program: Starting Squirrel Updater: --install .
Program: Starting install, writing to C:\Users\someuser\AppData\Local\SquirrelTemp
CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\someuser\AppData\Local\gitkraken\packages\RELEASES'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
   at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__28.MoveNext()
CheckForUpdateImpl: Reading RELEASES file from C:\Users\someuser\AppData\Local\SquirrelTemp
CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
ApplyReleasesImpl: Writing files to app directory: C:\Users\someuser\AppData\Local\gitkraken\app-0.0.1
ApplyReleasesImpl: Squirrel Enabled Apps: [C:\Users\someuser\AppData\Local\gitkraken\app-0.0.1\GitKraken.exe]
ApplyReleasesImpl: Couldn't run Squirrel hook, continuing: C:\Users\someuser\AppData\Local\gitkraken\app-0.0.1\GitKraken.exe: System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at Squirrel.Utility.<>c__DisplayClassf.<InvokeProcessAsync>b__e()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<InvokeProcessAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb5.<<invokePostInstall>b__a9>d__b7.MoveNext()
ApplyReleasesImpl: Starting fixPinnedExecutables
ApplyReleasesImpl: fixPinnedExecutables: oldAppDirectories is empty, this is pointless
ApplyReleasesImpl: cleanDeadVersions: for version 0.0.1
ApplyReleasesImpl: cleanDeadVersions: exclude folder app-0.0.1
Program: Starting Squirrel Updater: --install .
Program: Starting install, writing to C:\Users\someuser\AppData\Local\SquirrelTemp
CheckForUpdateImpl: Reading RELEASES file from C:\Users\someuser\AppData\Local\SquirrelTemp
ApplyReleasesImpl: No release to install, running the app
ApplyReleasesImpl: Squirrel Enabled Apps: [C:\Users\someuser\AppData\Local\gitkraken\app-0.0.1\GitKraken.exe]
Program: Starting Squirrel Updater: --install .
Program: Starting install, writing to C:\Users\someuser\AppData\Local\SquirrelTemp
CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\someuser\AppData\Local\gitkraken\packages\RELEASES'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
   at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__28.MoveNext()
CheckForUpdateImpl: Reading RELEASES file from C:\Users\someuser\AppData\Local\SquirrelTemp
CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
ApplyReleasesImpl: Writing files to app directory: C:\Users\someuser\AppData\Local\gitkraken\app-0.0.2
IEnableLogger: Failed to install package to app dir: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.IO.MemoryStream.set_Capacity(Int32 value)
   at System.IO.MemoryStream.EnsureCapacity(Int32 value)
   at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.Stream.InternalCopyTo(Stream destination, Int32 bufferSize)
   at System.IO.Stream.CopyTo(Stream destination)
   at NuGet.StreamExtensions.ToStreamFactory(Stream stream)
   at NuGet.ZipPackageFile..ctor(PackagePart part)
   at NuGet.ZipPackage.<GetFilesNoCache>b__12(PackagePart part)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at NuGet.ZipPackage.GetFilesNoCache()
   at NuGet.ZipPackage.GetFilesBase()
   at NuGet.LocalPackage.GetFiles()
   at NuGet.PackageExtensions.GetFiles(IPackage package, String directory)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<installPackageToAppDir>d__8e.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__54`1.MoveNext()

It seems persistent per machine, but different machines with similar ram usage might work or not work. Has anybody seen this before?

Existing file error

Hello! I was trying to create an installer for a test Electron app on my Windows 7 (x64) machine but I got this strange error... It seems like a file already exists but it's not clear in the stack trace which file is causing the problem.

Warning: Command failed: D:\projects\test\node_modules\grunt-electron-installer\vendor\Update.com --releasify C:\Users\Emanuele\AppData\Local\Temp\squirrel-installer-11544-8492-1akav9f\test.1.0.0.nupkg --releaseDir D:\projects\test\build\installer --loadingGif D:\projects\test\node_modules\grunt-electron-installer\resources\install-spinner.gif
System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Existing file.

   in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   in System.IO.__Error.WinIOError()
   in System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   in Squirrel.Update.Program.<createSetupEmbeddedZip>d__8b.MoveNext() in c:\Users\Paul\code\squirrel\squirrel.windows\src\Update\Program.cs:riga 505
   ---  End of inner exception stack trace  ---
   in System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   in System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   in System.Threading.Tasks.Task`1.get_Result()
   in Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon) in c:\Users\Paul\code\squirrel\squirrel.windows\src\Update\Program.cs:riga 354
   in Squirrel.Update.Program.main(String[] args) in c:\Users\Paul\code\squirrel\squirrel.windows\src\Update\Program.cs:riga 145
   in Squirrel.Update.Program.Main(String[] args) in c:\Users\Paul\code\squirrel\squirrel.windows\src\Update\Program.cs:riga 36
---> (Inner exception 0) System.IO.IOException: Existing file.

   in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   in System.IO.__Error.WinIOError()
   in System.IO.Path.InternalGetTempFileName(Boolean checkHost)
   in Squirrel.Update.Program.<createSetupEmbeddedZip>d__8b.MoveNext() in c:\Users\Paul\code\squirrel\squirrel.windows\src\Update\Program.cs:riga 505<---

 Use --force to continue.

Aborted due to warnings.

remoteReleases option appears to add extra '/' in requests

With a configuration like this:

  opts =
    'create-windows-installer':
      appDirectory: './app'
      outputDirectory: './releases'
      remoteReleases: 'http://127.0.0.1:3000'

You can see requests for the RELEASES file and corresponding packages coming with an extra '/'. Example logs from my Express server:

GET //RELEASES 200 1.470 ms - -
GET //RELEASES 200 1.128 ms - -

So note the full URL being requested is _http://127.0.0.1:3000//RELEASES_.
I can fudge it this Express server but if I change remoteReleases to an S3 bucket, it'll obviously not work and return 404 when requesting the RELEASES file.

This appears on current version 0.33.

Nuget.exe "Invalid URI: The format of the URI could not be determined."

I'm trying to build a Windows installer in W10 but it keeps breaking when nuget.exe is called. The paths shown are correct. The .nuspect file is present and its xml content looks fine.

I tried updating nuget.exe to the latest version and using admin rights, but no luck.

I have not idea what the problem is, any suggestions?

option for setting uninstall gif?

I was wondering if it would there would be any appetite (assuming its technically feasible) to specify a different gif for installing and uninstalling?

Can't install Windows

Tried to install using npm install --save-dev grunt-electron-installer
Windows 7.

npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm http GET https://registry.npmjs.org/grunt-electron-installer
npm http 304 https://registry.npmjs.org/grunt-electron-installer
npm http GET https://registry.npmjs.org/grunt-electron-installer/-/grunt-electron-installe
r-0.31.0.tgz
npm http 200 https://registry.npmjs.org/grunt-electron-installer/-/grunt-electron-installe
r-0.31.0.tgz
npm ERR! Error: ENOENT, lstat 'C:\Users\Casey\AppData\Local\Temp\npm-30232-                _bKAllyD\143019
5649360-0.18368915328755975\package\vendor\Setup.exe'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "E:\\Programs\\nodejs\\\\node.exe" "E:\\Programs\\nodejs\\node_modules\\n
pm\\bin\\npm-cli.js" "i" "-S" "grunt-electron-installer" "--msvs_version=2013"
npm ERR! cwd C:\Users\Casey\Electron Apps
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! path C:\Users\Casey\AppData\Local\Temp\npm-30232-_bKAllyD\1430195649360-        0.1836891
5328755975\package\vendor\Setup.exe
npm ERR! fstream_path C:\Users\Casey\AppData\Local\Temp\npm-30232-    _bKAllyD\1430195649360-0
.18368915328755975\package\vendor\Setup.exe
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack            E:\Programs\nodejs\node_modules\npm\node_modules\fstream\lib\writer
.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Casey\Electron Apps\npm-debug.log
npm ERR! not ok code 0

File not found: `LICENSE`

I get this when I try to run this Grunt task:

Running "create-windows-installer:x64" (create-windows-installer) task
>> File not found: 'LICENSE'.
Warning: Command failed: C:\Users\ollie\_TEMP\cc_build\gruntit\node_modules\grun
t-electron-installer\vendor\nuget.exe pack C:\Users\ollie\AppData\Local\Temp\squ
irrel-installer-115717-9376-72k146\CC-editor2.nuspec -BasePath C:\Users\ollie\_T
EMP\cc_build\electron\out\R -OutputDirectory C:\Users\ollie\AppData\Local\Temp\s
quirrel-installer-115717-9376-72k146 -NoDefaultExcludes
File not found: 'LICENSE'.
 Use --force to continue.

Aborted due to warnings.

I tried grunt --force but that didn't seem to help. The task just ended and did not produce an installer.

I made sure I had a "license" field in my app's package.json, and I even added files LICENSE, LICENSE.md, LICENSE.txt in the same directory as my app's package.json. None of these things have allowed to me to get past this error.

What am I missing? Thanks.

is there a way about electron call another program?

I met a problem.
I used a section of code call another web program interface,it works normally in web browser.
In client, it has no effect,it doesn't work.
Is there one or more way that could call the browser or other program?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.