Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   nno Setup Compiler как прописать установку доп. ПО? (http://forum.oszone.net/showthread.php?t=320272)

AndreyAHAHAC 30-10-2016 14:05 2683015

nno Setup Compiler как прописать установку доп. ПО?
 
Предыстория: Написал приложение на Qt5.7 MSVC. Собрал все dll-ки с помощью утилиты windeployqt.exe. Сделал инсталлятор используя Inno Setup Compiler.
И все работало нормально. Пока я не отдал инсталлятор другу. Он установил, но при запуске выбило ошибку: требовало MSVCP140.dll.
Мне объяснили, что для запуска требуется установка пакета vc_redist140.

Как же прописать, чтобы при установке программы, инсталлятор установил пакет vc_redist140?

п.с. заранее благодарен за помощь!

boss911 30-10-2016 16:18 2683045

Скрипты Inno Setup. Помощь и советы [часть 8]

Код:

[Files]
Source: VC_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall

[Run]
Filename: {tmp}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package


Nordek 30-10-2016 17:03 2683055

Цитата:

Цитата AndreyAHAHAC
Inno Setup »

Скрипты Inno Setup. Помощь и советы [часть 8].

Цитата:

Цитата AndreyAHAHAC
Как же прописать, чтобы при установке программы, инсталлятор установил пакет vc_redist »

Код:

[Setup]
AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=redist_setup
OutputDir=.

[Tasks]
Name: ext; Description: Дополнительно
Name: ext/vc; Description: Visual C++

[Run]
Filename: {src}\vc_redist.x86.exe; Parameters: /q; StatusMsg: Установка Visual C++; Tasks: ext/vc


AndreyAHAHAC 30-10-2016 17:22 2683058

Чем эти два варианта отличаются?

Код:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Organizer"
#define MyAppVersion "0.9.2.0"
#define MyAppPublisher "*****"
#define MyAppURL "https://www.facebook.com/*****"
#define MyAppExeName "Organizer.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={{6C36D108-A4D2-41CA-ADE0-5CDC260E33A6}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile=E:\Work\Qt_work\Qt_deploy\release\Organizer\LICENSE.txt
OutputDir=E:\Work\Qt_work\Qt_deploy\installers\Organizer\Organizer 0.9.2
OutputBaseFilename=Setup Organizer
Compression=lzma
SolidCompression=yes
AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=vc_redist.x64
OutputDir=e:\Work\Qt_work\Qt_deploy\Visual C++ Redistributable for Visual Studio 2015

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: ext; Description: Additionally
Name: ext/vc; Description: Visual C++ Redistributable for Visual Studio 2015

[Files]
Source: "E:\Work\Qt_work\Qt_deploy\release\Organizer\Organizer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Work\Qt_work\Qt_deploy\release\Organizer\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
Filename: {src}\vc_redist.x64.exe; Parameters: \q; StatusMsg: Setup Visual C++ Redistributable 2015; Tasks: ext/vc

Выбивает ошибку: Line 30. [Setup] Section directive "AppName" already specidied

AndreyAHAHAC 30-10-2016 17:50 2683067

Что означает этот параметр?
Цитата:

Цитата boss911
Parameters: /quiet; »


Nordek 30-10-2016 17:57 2683068

Цитата:

Цитата AndreyAHAHAC
Выбивает ошибку »

Вы всё подряд не копируйте
Удалите или закомментируйте:
Код:

AppName=Redist
AppVersion=1.0
DefaultDirName={pf}\Redist
OutputBaseFilename=vc_redist.x64
OutputDir=e:\Work\Qt_work\Qt_deploy\Visual C++ Redistributable for Visual Studio 2015


Цитата:

Цитата AndreyAHAHAC
Что означает этот параметр? »

Параметр /quiet или /q - режим установки без вывода сообщений (Тихий режим).

boss911 30-10-2016 18:04 2683071

Цитата:

Цитата AndreyAHAHAC
Чем эти два варианта отличаются? »

Кардинально ничем. В вашем случае, в примере от Nordek, секция [Setup] не нужна, а вот [Tasks] по желанию. Вы как хотите, чтобы VC_redist.x86.exe располагался внутри вашего инсталлятора или рядом с ним с последующей его установкой?

Внутри:
Код:

[Files]
Source: E:\Work\Qt_work\Qt_deploy\release\Organizer\VC_redist.x86.exe; DestDir: {tmp}; Flags: deleteafterinstall

[Run]
Filename: {tmp}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package


Рядом:
Код:

[Run]
Filename: {src}\VC_redist.x86.exe; Parameters: /quiet; Flags: waituntilterminated skipifdoesntexist; StatusMsg: Installing Microsoft Visual C++ 2015 Redistributable Package



Время: 05:16.

Время: 05:16.
© OSzone.net 2001-