2013-05-20 4 views
3

У меня есть приложение, которое выполняется нормально. Но когда я делаю установочный файл с Inno Setup, значок не отображается. Сценарий установки:Нет значка с установкой Inno

; Script generated by the Inno Setup Script Wizard. 

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! 

#define MyAppName  "MyApp" 
#define MyAppVersion "1.0" 
#define MyAppExeName "MyApp.exe" 

[Setup] 
; NOTE: The value of AppId uniquely identifies this application. 
; Do not use the same AppId value in installers for other applications. 
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) 
AppId={{C1DD3B91-BDCD-45CC-BFCA-C52DD39A6631} 
AppName={#MyAppName} 
AppVersion={#MyAppVersion} 
DefaultDirName=C:\Inno Setup Studio\{#MyAppName} 
DefaultGroupName={#MyAppName} 
AllowNoIcons=yes 
OutputDir=C:\Inno Setup Studio\MyApp 
OutputBaseFilename=setup 
Compression=lzma 
SolidCompression=yes 

[Languages] 
Name: "english"; MessagesFile: "compiler:Default.isl" 

[Tasks] 
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "Do you want to create desktop icon?"; Flags: checkablealone 

[Files] 
Source: "C:\MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion 

Source: "Requirements\msvcp100.dll"; DestDir: "{app}" 
Source: "Requirements\msvcp100d.dll"; DestDir: "{app}" 
Source: "Requirements\msvcr100.dll"; DestDir: "{app}" 
Source: "Requirements\msvcr100d.dll"; DestDir: "{app}" 
Source: "Requirements\PocoFoundation.dll"; DestDir: "{app}" 
Source: "Requirements\PocoFoundationd.dll"; DestDir: "{app}" 
Source: "Requirements\QtCore4.dll"; DestDir: "{app}" 
Source: "Requirements\QtCored4.dll"; DestDir: "{app}" 
Source: "Requirements\QtGui4.dll"; DestDir: "{app}" 
Source: "Requirements\QtGuid4.dll"; DestDir: "{app}" 
Source: "Requirements\QtNetwork4.dll"; DestDir: "{app}" 
Source: "Requirements\QtNetworkd4.dll"; DestDir: "{app}" 
Source: "Requirements\QtService.dll"; DestDir: "{app}" 


[Run] 
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram, #StringChange(MyAppName, '&','&&')}}"; Flags: nowait postinstall skipifsilent 

Знаете ли вы, что не так?

+3

Поскольку в вашем скрипте отсутствует раздел [Иконки]. Пример для ярлыка на рабочем столе '[Иконки] Имя:" {commondesktop} \ MyAppName "; Имя файла: "{app} \ MyAppExeName.EXE"; WorkingDir: "{app}"; Задачи: desktopicon' (с '; IconFileName:" {app} \ MyAppIconFile.ico "' при необходимости) – RobeN

+0

Просто чтобы уточнить, на каком значке вы на самом деле говорите? – Deanna

+0

@Deanna - Из кода, который вы можете предсказать, это о '[Tasks] Имя:« desktopicon »' - sheykholeslam установите флажок на странице задач, но на рабочем столе нет значка, так как раздел '[Icons]' отсутствует из сценария. – RobeN

ответ

2

Глядя на ваш сценарий, я могу сказать, что отсутствует раздел [Иконки]. Вы добавили [Tasks] с флажком только для значка Desktop.

Вы должны добавить в свой скрипт что-то вроде:

[Icons] 
Name: "{commondesktop}\MyAppName"; Filename: "{app}\MyAppExeName.EXE"; 
WorkingDir: "{app}"; Tasks: desktopicon 

Если файл EXE не содержит значок, или если вы хотите установить вам собственный значок, вы должны дополнительно использовать флаг: IconFileName: "{app}\CustomIconFile.ico"

6

I знаете, это старый пост. Но, возможно, это поможет кому-то.

С помощью inno, используя что-то вроде следующего, я смог связать значки с ярлыком на рабочем столе (desktop.ico), приложение, запущенное с момента запуска (start.ico), удаление, запущенное с начала (uninst.ico) , и setup.exe (setup.ico).

Замените ваши дорожки значков \ именами вместо, например. C: \ Temp \ setup.ico. Замените приложение вместо MyApp.

В [Setup] раздел:

SetupIconFile=C:\Temp\setup.ico 

В разделе [Icons]:

Name: "{group}\MyApp"; Filename: "{app}\MyApp.exe"; IconFilename: "C:\Temp\start.ico" 

Name: "{group}\{cm:UninstallProgram,MyApp}"; Filename: "{uninstallexe}"; IconFilename: "C:\Temp\uninst.ico" 

Name: "{commondesktop}\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon; IconFilename: "C:\Temp\desktop.ico" 
1

Если вы специально искали значок используется при включении установки в списке под Вкладка «Установка и удаление программ» на панели конфигурации, используйте настройку UninstallDisplayIcon.

Смежные вопросы