electron / windows-installer

Build Windows Installers for Electron apps
MIT License
1.58k stars 261 forks source link

Semver #216

Open jorivanee opened 6 years ago

jorivanee commented 6 years ago

Hey, I'm trying to create an installer, I'm getting this:

C:\Users\jori\Desktop\dev\js\react\f2>node test.js
No dice: Failed with exit code: 4294967295
Output:
System.Exception: Your package version is currently 1.0.0.0, which is *not* SemVer-compatible, change this to be a SemVer version number
   bij Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProcessHook)
   bij Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi, String frameworkVersion, Boolean generateDeltas)
   bij Squirrel.Update.Program.executeCommandLine(String[] args)
   bij Squirrel.Update.Program.main(String[] args)
   bij Squirrel.Update.Program.Main(String[] args)

if I change the version to 1.0.0 it gives this:

C:\Users\jori\Desktop\dev\js\react\f2>node test.js
No dice: Failed with exit code: 4294967295
Output:

System.AggregateException: Er zijn ��n of meer fouten opgetreden. ---> System.Exception: Failed to compile WiX template, command invoked was: 'candle.exe -nologo -ext WixNetFxExtension -out "C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wixobj" "C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs"'

Output was:
Setup.wxs
C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs(2) : error CNDL0108 : The Product/@Version attribute's value, '!(bind.FileVersion.justmaffies-todo-list.exe)', is not a valid version.  Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.
C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs(2) : error CNDL0010 : The Product/@Version attribute was not found; it is required.
   bij Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()
   --- Einde van intern uitzonderingsstackpad ---
   bij System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   bij System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   bij System.Threading.Tasks.Task.Wait()
   bij Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi, String frameworkVersion, Boolean generateDeltas)
   bij Squirrel.Update.Program.executeCommandLine(String[] args)
   bij Squirrel.Update.Program.main(String[] args)
   bij Squirrel.Update.Program.Main(String[] args)
---> (Interne uitzondering #0) System.Exception: Failed to compile WiX template, command invoked was: 'candle.exe -nologo -ext WixNetFxExtension -out "C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wixobj" "C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs"'

Output was:
Setup.wxs
C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs(2) : error CNDL0108 : The Product/@Version attribute's value, '!(bind.FileVersion.justmaffies-todo-list.exe)', is not a valid version.  Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.
C:\Users\jori\Desktop\dev\js\react\f2\builds\out\Setup.wxs(2) : error CNDL0010 : The Product/@Version attribute was not found; it is required.
   bij Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()<---
jorivanee commented 6 years ago

Its mostly dutch there, sorry about that

Vermillionaire commented 6 years ago

I had the same issue with my application. I've tried to create a package with electron quickstart app just in case something was wrong with my application, but I get the error there too.

Console:

C:\Users\bvermillion\Projects\electron-quick-start>node windows-installer.js
No dice: Failed with exit code: 4294967295
Output:

System.AggregateException: One or more errors occurred. ---> System.Exception: Failed to compile WiX template, command invoked was: 'candle.exe -nologo -ext WixNetFxExtension -out "C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wixobj" "C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs"'

Output was:
Setup.wxs
C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs(2) : error CNDL0108 : The Product/@Version attribute's value, '!(bind.FileVersion.electron-quick-start.exe)', is not a valid version.  Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.
C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs(2) : error CNDL0010 : The Product/@Version attribute was not found; it is required.
   at Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi, String frameworkVersion, Boolean generateDeltas)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
   at Squirrel.Update.Program.Main(String[] args)
---> (Inner Exception #0) System.Exception: Failed to compile WiX template, command invoked was: 'candle.exe -nologo -ext WixNetFxExtension -out "C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wixobj" "C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs"

Output was:
Setup.wxs
C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs(2) : error CNDL0108 : The Product/@Version attribute's value, '!(bind.FileVersion.electron-quick-start.exe)', is not a valid version.  Legal version values should look like 'x.x.x.x' where x is an integer from 0 to 65534.
C:\Users\bvermillion\Projects\electron-quick-start\tmp\Setup.wxs(2) : error CNDL0010 : The Product/@Version attribute was not found; it is required.
   at Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()<---`

windows-installer.js (code copied from this repos readme):

var electronInstaller = require('electron-winstaller');

resultPromise = electronInstaller.createWindowsInstaller({
    appDirectory: 'test-app-win32-x64',
    outputDirectory: 'tmp',
    authors: 'TC3-Electron',
    exe: 'test-app.exe'
  });

resultPromise.then(() => console.log("It worked!"), (e) => console.log(`No dice: ${e.message}`));

I get this error when I change the version to anything else:

C:\Users\bvermillion\Projects\electron-quick-start>node windows-installer.js
No dice: Failed with exit code: 4294967295
Output:
System.Exception: Your package version is currently 1.0.0.0, which is *not* SemVer-compatible, change this to be a SemVer version number
   at Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProcessHook)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi, String frameworkVersion, Boolean generateDeltas)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
   at Squirrel.Update.Program.Main(String[] args)

npm version: 5.6.0 node version: 6.11.5 electron-packager version: 10.1.0 windows version: 10 Enterprise v1607

mstallmo commented 6 years ago

I'm having the same issue as well. It looks like Squirrel forces the use of SemVer but Windows version number formatting are not SemVer.

KammererTob commented 6 years ago

May be related to: https://github.com/electron/windows-installer/issues/187 Had the same problem for whitespaces in the app name. After changing the name to not contain "-" or " " it worked fine.