akavel / rsrc

Tool for embedding .ico & manifest resources in Go programs for Windows.
MIT License
1.22k stars 122 forks source link

Try to support 'Windows ARM/ARM64' #28

Closed fcharlie closed 4 years ago

fcharlie commented 4 years ago

What hinders this work is that Golang does not currently support Windows ARM64, and Windows ARM does not support it well.

Wating: all: port to Windows/arm64

akavel commented 4 years ago

Oh wow! Very interesting. To understand this a bit better: are you personally using it on a Windows ARM machine? does it work for you with those changes? Please note: I'm absolutely ok with merging this even if you didn't test it! 😁 I think maybe the only thing I'd love if we added then, is kinda "// NOT TESTED" comments or something, to make situation more clear to any potential future contributors.

Also, can I ask what you're using rsrc for, and how is it working for you? With no metrics or whatsoever, I really have no idea whether anyone's actually using the tool or not 😅 some kind of connection and awareness of real people using it would be cool for me :) primarily for knowing I maybe helped someone + also to maybe "advertise" some kinda "list of users" one day (?...)

fcharlie commented 4 years ago

@akavel

I don't currently have a Windows ARM / ARM64 device. I recently prepared to write a Golang build packaging tool that will automatically add the version information of the project settings to the Golang binary file. Therefore, I think this tool may help me. Of course, thank you very much for your efforts.

Github Mirror: https://github.com/fcharlie/baligo
Windows VersionInfo WIP: https://gitee.com/ipvb/baligo/blob/version/cmd/bali/version.go

Fortunately, I have written some tools to analyze the file format of PE, so I know a little about this.

PE https://github.com/fcharlie/BelaUtils/tree/master/tools/caelum

fcharlie commented 4 years ago

In fact, we can also completely create the installation program. Put the compressed package in the resource directory of PE. After decompressing the Golang stub program, execute the corresponding rules file, and the installation is complete.

see: https://github.com/fcharlie/bali/issues/1

akavel commented 4 years ago

Thanks for the info! :) I'd like to just have a few review questions before merging this, if you're ok with that!

fcharlie commented 4 years ago

@akavel OK. update it

And while we're at it, would it not be too much if I asked you to mention yourself in the AUTHORS file as part of this PR? heart Though again, I will try to do it some way later myself if you don't have time!

no problem

fcharlie commented 4 years ago

@akavel Thanks for your code, the golang build packaging tool bali I developed already supports embedding the version into the go program during the build process.