Coder Social home page Coder Social logo

Comments (10)

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024 1

Seems like %{app_name} should be ${app_name} in Installer.nsi now. This also applies to e.g. %{author}...

from fbs.

mherrmann avatar mherrmann commented on June 1, 2024

Hey Fredrik,

yes, I did change the directory structure. I still do this to improve fbs for the future. I try to document pretty meticulously what I did (and how you can migrate from earlier versions) on the Releases page.

Are you sure that installer does not find your Installer.nsi? I just tested by doing the following steps:

  1. python -m fbs startproject
  2. Copy the default Installer.nsi to src/windows/installer/Installer.nsi
  3. Made a few minor changes to this new copy of Installer.nsi
  4. python -m fbs clean, ... freeze, ... installer

This did produce the "modified" installer.

app_name, main_module and author are all still there. See here.

Maybe a brief summary of the biggest change: I didn't like the fact that startproject creates a lot of files that most users won't want to modify. These files are therefore now in a new _defaults module inside fbs.

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

I followed your steps exactly and the changes in Installer.nsi are not picked up. You are saying this produce a installer on your end with the changes, but not here on my end. Hmm...

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

The changes I did to Installer.nsi was to just change the greeting string "This wizard will guide you through...".

I notice that the target/installer/Installer.nsi contains the change, but the actual installer shows the original, default string.

Are you not seeing this on your end?

from fbs.

mherrmann avatar mherrmann commented on June 1, 2024

I'm attaching my sources. Maybe they will help?

src.zip

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

How, odd. Your source produced an installer with the expected changes.

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

Your source does not have /src/windows/installer. Instead it uses /src/installer/windows.

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

So, after switching the folders around and using src/installer/windows/Installer.nsi, it seems I am making progress with my actual app.

I am now noticing that the target/installer/Installer.nsi contains my changes but the variable substitution hasn't happened. I can see ${app_name} etc. I am running a custom build script which calls fbs.builtin_commands.freeze(debug) for freeze (and then fbs.builtin_commands.installer() for installer).

I'm looking in the builtin_commands module but I can't see anything on variable substitution... any ideas?

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

Hm, ok weird. When I use your default Installer.nsi, the build script produces an installer without issues. But when I use mine, with my changes, it crashes:

File: "..\%{app_name}\*" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in script "Installer.nsi" on line 95 -- aborting creation process

My Installer.nsi worked fine prior to updating fbs. This is my Installer.nsi: Installer.zip

from fbs.

fredrikaverpil avatar fredrikaverpil commented on June 1, 2024

Ok, these are my findings, which solved my issues with building the installer using fbs v0.3.9:

  • Installer.nsi should reside in src/installer/windows (not in src/windows/installer)
  • Change all occurances of %{ into ${ in Installer.nsi

from fbs.

Related Issues (20)

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.