Sto usando cx-freeze per creare un programma di installazione MSI per un'applicazione Python. Come posso installare un collegamento all'applicazione dal desktop?Usa cx-freeze per creare un msi che aggiunge un collegamento al desktop
risposta
Per creare un collegamento per l'applicazione, dare il shortCutName e shortcutDir opzioni al file eseguibile. La scorciatoia Dir può nominare uno qualsiasi dei System Folder Properties (grazie Aaron). Ad esempio:
from cx_Freeze import *
setup(
executables = [
Executable(
"MyApp.py",
shortcutName="DTI Playlist",
shortcutDir="DesktopFolder",
)
]
)
È inoltre possibile aggiungere elementi alla tabella dei collegamenti MSI. Ciò consente di creare più scorciatoie e impostare la directory di lavoro (l'impostazione "start in" del collegamento).
from cx_Freeze import *
# http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"DTI Playlist", # Name
"TARGETDIR", # Component_
"[TARGETDIR]playlist.exe",# Target
None, # Arguments
None, # Description
None, # Hotkey
None, # Icon
None, # IconIndex
None, # ShowCmd
'TARGETDIR' # WkDir
)
]
# Now create the table dictionary
msi_data = {"Shortcut": shortcut_table}
# Change some default MSI options and specify the use of the above defined tables
bdist_msi_options = {'data': msi_data}
setup(
options = {
"bdist_msi": bdist_msi_options,
},
executables = [
Executable(
"MyApp.py",
)
]
)
Sapresti come funziona con un amministratore di sistema che installa questa app? Non avranno l'opzione per le scorciatoie o lo faranno? – PascalVKooten
Il collegamento verrà installato per tutti gli utenti se la proprietà ALLUSERS è impostata. – joshuanapoli
Dove puoi impostare la proprietà ALLUSERS? Come si specifica un'icona? –
possibile duplicato del [Usa cx-freeze per creare un programma di installazione MSI che installa un programma di installazione del bambino] (http://stackoverflow.com/questions/15733405/use-cx-freeze-to-create-an- msi-installer-that-installs-a-child-installer) –
Le domande sono diverse. In questa domanda, voglio creare un'icona sul desktop. L'altra domanda riguarda l'integrazione di diversi programmi di installazione MSI. – joshuanapoli