shoes / shoes3

a tiny graphical app kit for ruby
http://walkabout.mvmanila.com
Other
179 stars 19 forks source link

NSIS RunTimeError when using Windows merge packaging #440

Closed JDsnyke closed 5 years ago

JDsnyke commented 5 years ago

Hi,

Seem to get this error when using Windows merge packaging on the terminal and cshoes.exe. Any ideas? Using the GUI seems to just freeze everything.

Running shoes 3.3.7.

C:\Users\Janith Dissanayake\Documents\Shoes to EXE>cshoes --ruby win-merge.rb merge-build.yaml
DIR = C:/Program Files (x86)/Shoes
GEMS_DIR = C:/Users/Janith Dissanayake/APPDATA/Local/.shoes/+gem
Copy Shoes
remove uneeded
copy application
process gems
Deleting activesupport-5.1.2
Deleting byebug-9.0.6
Deleting chipmunk-6.1.3.4
Deleting concurrent-ruby-1.0.5
Deleting bigdecimal-1.2.8
Deleting io-console-0.4.5
Deleting json-1.8.3.1
Deleting psych-2.1.0.1
Deleting rdoc-4.2.1
Deleting did_you_mean-1.0.0
Deleting ethon-0.10.1
Deleting ffi-1.9.18-x86-mingw32
Deleting i18n-0.8.6
Deleting minitest-5.8.5
Deleting mini_portile2-2.2.0
Deleting multi_json-1.12.1
Deleting net-telnet-0.1.1
Deleting nokogiri-1.8.0-x86-mingw32
Deleting picky-4.31.3
Deleting power_assert-0.2.6
Deleting rack_fast_escape-2009.06.24
Deleting rake-10.4.2
Deleting rb-readline-0.5.4
Deleting sqlite3-1.3.13-x86-mingw32
Deleting test-unit-3.1.5
Deleting thread_safe-0.3.6
Deleting typhoeus-1.1.2
Deleting tzinfo-1.2.3
Deleting url_escape-2009.06.24
Deleting win32-shortcut-0.3.0
Deleting yajl-ruby-1.3.0
User gems
make installer - patience please
make_installer
C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:1388:in `copy': unknown file type: C:/Program Files (x86)/Shoes/lib/package/nsis (RuntimeError)
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:473:in `block in copy_entry'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:1499:in `wrap_traverse'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:470:in `copy_entry'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:445:in `block in cp_r'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:1572:in `block in fu_each_src_dest'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:1586:in `fu_each_src_dest0'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:1570:in `fu_each_src_dest'
        from C:/Program Files (x86)/Shoes/lib/ruby/2.3.0/fileutils.rb:444:in `cp_r'
        from C:/Program Files (x86)/Shoes/lib/package/merge-exe.rb:120:in `merge_exe'
        from win-merge.rb:18:in `<main>'
ccoupe commented 5 years ago

Given the stack trace - merge-exe.rb, and looking at the code, either the source of the copy has something wrong or the destination has something wrong. There's not that much in that nsis directory

ccoupe@bronco:~/Projects/shoes3/mxe64/lib/package/nsis$ ls
base.nsi          FileAssociation.nsh  installer-2.bmp
EnvVarUpdate.nsh  installer-1.bmp      shoes.ico

I suspect the source directory is OK. You can read the code yourself to see what's going on. It's pretty much just clever copying. I will note that spaces in directory names like Shoes to EXE is not a good idea for any ruby based code.

JDsnyke commented 5 years ago

Thanks @ccoupe. I'll keep that in mind.

JDsnyke commented 5 years ago

Hmmm, @ccoupe I dont seem to have the nsis folder in the shoes package folder to begin with. Where can I get it?

JDsnyke commented 5 years ago

Downloading the source and copying over the folder fixed the issue. Since I am running a fresh Windows 10 install and installed Shoes 3.3.7 without any prior installs, can we assume that the nsis folder in lib/package was accidentally not included in the final 3.3.7 release?

ccoupe commented 5 years ago

The missing nsis folder is odd. It should be in there. Nothing has changed with that portion of Shoes (he says). FYI, there is a 3.3.8 beta 64 bit for Win 10 that should help with your scrolling bug.

JDsnyke commented 5 years ago

Strange indeed. Thanks @ccoupe