4

Having made and tested my .msi installer using cx_freeze, it all works except for one vital part from the point of view of the end user: no start menu or desktop shortcut can be created by ticking a checkbox during the installer and neither of these actions seem to be happening by default.

However, having trawled mail archives and suchlike, I've found it should in fact create a start menu shortcut by default.

Does anyone know if there's something I can add to my setup.py or whatever to make this work? I'm not sure if this is happening just on my PC, so it would help if you could test if the installer makes a shortcut for you. You can test the installer here.

jellyberg
  • 168
  • 4
  • 14
  • I don't know of a way to do it with cx_Freeze alone, but if you prepare the build folder with cx_Freeze, you can use a separate program like Inno setup to create a more advanced installer. – Thomas K Apr 18 '13 at 22:58
  • @Thomas Oh that's ideal, I assumed Inno would be much more complex but it took minutes to create my fully working application installer! Repost as answer? – jellyberg Apr 19 '13 at 07:18

2 Answers2

3

In your setup script, add "shortcutDir" keyword with required parameter. The parameter could be DesktopFolder or StartupFolder. "shortcutName" keyword could also be used to provide the name to the shortcut.

The following links could also be used as references to further help you to resolve your problem: Use cx-freeze to create an msi that adds a shortcut to the desktop

https://github.com/anthony-tuininga/cx_Freeze/issues/48

Eric Aya
  • 69,473
  • 35
  • 181
  • 253
MAYANK SHARMA
  • 307
  • 1
  • 4
  • 12
  • 1
    `StartupFolder` will add the program in the startup folder, not in the start menu. i.e. the sub-menu of the start menu `C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup` to load the program when windows starts. – Cimbali Aug 08 '19 at 17:12
  • 1
    Try `shortcutDir=ProgramMenuFolder` instead. – Cimbali Aug 08 '19 at 17:39
2

Reposting as an answer:

I don't know of a way to do it with cx_Freeze alone, but if you prepare the build folder with cx_Freeze, you can use a separate program like Inno setup to create a more advanced installer.

Thomas K
  • 39,200
  • 7
  • 84
  • 86