2015-07-08 3 views
1

среды: Windows-64, Visual Studio 2013IExpress не поддерживает структуру папок при расширении до температуры

Перед запуском IExpress У меня есть установочный файл, который ссылается на главную MSI и предпосылка MSI (SlimDX). Когда установщик визуальной студии добавляет предварительное условие, он добавляет места prereq msi в подпапку рядом с setup.exe.

Теперь я использую iexpress.exe для слияния файлов setup.exe и 2 msi. Когда iexpress извлекает 3 файла в временную папку, распространяемое не находится в подпапке, несмотря на то, что файл установки все еще ожидает его в подпапке.

Как заставить iexpress поддерживать структуру папок при извлечении? В качестве альтернативы, при добавлении необходимого условия для установщика визуальной студии, как я могу заставить его размещать зависимости на том же уровне папок, что и файл setup.exe?

SDE файл

[Version] 
Class=IEXPRESS 
SEDVersion=3 
[Options] 
PackagePurpose=InstallApp 
ShowInstallProgramWindow=0 
HideExtractAnimation=0 
UseLongFileName=1 
InsideCompressed=0 
CAB_FixedSize=0 
CAB_ResvCodeSigning=0 
RebootMode=I 
InstallPrompt=%InstallPrompt% 
DisplayLicense=%DisplayLicense% 
FinishMessage=%FinishMessage% 
TargetName=%TargetName% 
FriendlyName=%FriendlyName% 
AppLaunched=%AppLaunched% 
PostInstallCmd=%PostInstallCmd% 
AdminQuietInstCmd=%AdminQuietInstCmd% 
UserQuietInstCmd=%UserQuietInstCmd% 
SourceFiles=SourceFiles 
[Strings] 
InstallPrompt= 
DisplayLicense= 
FinishMessage= 
TargetName=C:\Jobs\NME\Installer\Release\NMEInstaller.EXE 
FriendlyName=NME Installer 
AppLaunched=setup.exe 
PostInstallCmd=<None> 
AdminQuietInstCmd= 
UserQuietInstCmd= 
FILE0="NME Installer.msi" 
FILE1="setup.exe" 
FILE2="SlimDXRedistributable\SlimDX Runtime .NET 4.0 x64 (January 2012).msi" 
[SourceFiles] 
SourceFiles0=C:\Jobs\NME\Installer\Release\ 
SourceFiles1=C:\Jobs\NME\Installer\Release\SlimDXRedistributable\ 
[SourceFiles0] 
%FILE0%= 
%FILE1%= 
[SourceFiles1] 
%FILE2%= 

ответ

0

Мое понимание является то, что MSFT больше не рекомендует или поддерживает использование IEXpress.exe, поскольку она содержит ряд уязвимостей, которые никогда не были заделаны. Вам действительно стоит подумать о переходе на соответствующий загрузочный носитель, такой как функция Burn Burn для Windows Installer. Его проще реализовать и намного мощнее.

+0

Хотя я не совсем согласен, у вас есть ссылка для этого? – fission

+0

http://seclists.org/fulldisclosure/2013/Oct/5 –

+0

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Create-Single-installable-exe-td7596297.html –

0

Я ответил на вопрос, похожий на это раньше:

По сути вы хотите использовать пакетный файл (или что-то), чтобы скопировать или переместить файлы, где нужно их перед выполнением фактическая setup.exe, что-то вроде:

@echo off 
mkdir SlimDXRedistributable 
move /y "SlimDX Runtime .NET 4.0 x64 (January 2012).msi" SlimDXRedistributable 
setup.exe 

Помните, что если вы используете пакетный файл, чтобы назвать это нравится:

cmd /c myscript.bat 

(Если вы просто поставить пакетный файл, он будет работать по старому command.com, который является неоптимальным.)

+0

Вы должны проголосовать, чтобы закрыть или отметить как дубликат ** не ** повторно ответить на вопрос –