# Define / edit sysimage attributes with julia?

**URL:** <https://discourse.julialang.org/t/define-edit-sysimage-attributes-with-julia/81786>\
**Category:** General Usage\
**Tags:** question, package-compiler, filesystem, sysimage\
**Created:** [May 27, 2022, 1:29pm UTC](https://discourse.julialang.org/t/define-edit-sysimage-attributes-with-julia/81786 "2022-05-27T13:29:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![BambOoxX](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bambooxx/32/22179_2.png) [@BambOoxX](https://discourse.julialang.org/u/BambOoxX)\
**Post date:** [May 27, 2022, 1:29pm UTC](https://discourse.julialang.org/t/define-edit-sysimage-attributes-with-julia/81786/1 "2022-05-27T13:29:41Z")

</div>

I’ve developed a package that is a bit heavy to load, so I compiled a sysimage using `PackageCompiler` to get a faster load time.  
As I work on a windows system, this gets me a `.dll` file.  
In order to track the metadata associated with this dll (julia version, my package’s version etc) I’m currently using a side text file that contains such metadata.

However, windows dlls can have so-called resource information to store version information and other details. See e.g. [windows - How do I set the version information for an existing .exe, .dll? - Stack Overflow](https://stackoverflow.com/questions/284258/how-do-i-set-the-version-information-for-an-existing-exe-dll).

I’m wondering if there is an easy way to pass these information to `PackageCompiler` directly (which would be the cleanest way IMO), or to use julia to edit them after the compilation is done ?

---

<div class="post-metadata">

**Author:** ![BambOoxX](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bambooxx/32/22179_2.png) [@BambOoxX](https://discourse.julialang.org/u/BambOoxX)\
**Post date:** [May 30, 2022, 9:14am UTC](https://discourse.julialang.org/t/define-edit-sysimage-attributes-with-julia/81786/2 "2022-05-30T09:14:52Z")

</div>

It seems that it is possible to provide a version number for linux/apple systems (but not for windows dlls) in `PackageCompiler`

> <https://github.com/JuliaLang/PackageCompiler.jl/blob/a8a4459e7bd8c5dc2194aa62e93592e416edbdfa/src/PackageCompiler.jl#L823-L826>

Passing attributes / properties to compiled library does not seem to be feasible though.

Side note : some tools provide de functionality I’m interested in (e.g. [GitHub - electron/rcedit: Command line tool to edit resources of exe](https://github.com/electron/rcedit), I can’t compile this one though), I wonder if this could be integrated into a package using a wrapper, but I have no experience with C / C++.
