2015-07-08 2 views
0

Я пытаюсь запустить исполняемый файл VBscript (.EXE) после того, как все файлы размещены на целевой машине. используемый установщик выполняется в Visual Studio 2013 с помощью набора инструментов WIX. Я попробовал несколько примеров из разных источников, таких как technet и этот сайт. Однако ни один из них не мог мне помочь, так как многие из этих статей/сообщений появились примерно с 2008 года и, похоже, больше не применяются.Выполнение VBscript после установки на целевой машине

В настоящее время я использую этот кусок кода, чтобы попытаться моя цель АРХИВ:

 <Fragment> 
    <CustomAction 
     Id="RunInstallScript" 
     Directory="INSTALLFOLDER" 
     ExeCommand="[INSTALLFOLDER]Installation script.exe" 
     Execute="commit" 
     Return="ignore" 
    /> 
    <InstallExecuteSequence> 
    <Custom Action="RunInstallScript" Before="InstallFinalize" /> 
    </InstallExecuteSequence> 
    </Fragment> 

Даже если компилятор не видит каких-либо ошибок и компилирует нормально код не работает. Файл, который необходимо выполнить, помещается в папку установки, поэтому файл присутствует. Осталось только выполнить его один раз во время установки и/или деинсталляции.

Я искал информацию в течение длительного времени, чтобы понять это, почтовый я просто не могу заставить его работать так, как хотелось бы. Если эта проблема будет решена, у меня будет полностью работоспособный установщик, который я смогу развернуть для упрощения настройки панелей управления.

вся помощь и предложения приветствуются.

заранее спасибо,

+0

Как вы создали свой «исполняемый VBScript»? – Bond

+0

вместо того, чтобы запускать собственный скрипт, вы можете запустить что-то еще? только для целей тестирования. скажем, можете ли вы запустить CALC.EXE? – Zam

+0

@Bond посмотрите ответы на http://stackoverflow.com/questions/4425681/how-can-i-convert-a-vbscript-to-an-executable-exe-file – Zam

ответ

0

я понял, что проблема была. кажется, что объявление и вызов пользовательского действия должны быть в том же фрагменте, что и функция добавления файла. так это будет выглядеть примерно так:

<Fragment> 

    <ComponentGroup Id="script" Directory="INSTALLFOLDER"> 
     <Component Id="InstallationScript" Guid="{AFA49EED-4F2C-42B4-B7EC-D3B7896C970C}"> 
     <File Id="InstallationScript" KeyPath="yes" Source="C:\Users\fjansen\Documents\Visual Studio 2013\Projects\Wix test\Installation script\bin\Debug\InstallationScript.exe" /> 
     </Component> 
    </ComponentGroup> 

    <CustomAction 
     Id="InstallScript" 
     Directory="INSTALLFOLDER" 
     ExeCommand="[INSTALLFOLDER]InstallationScript.exe" 
     Execute="commit" 
     Return="check"> 
    </CustomAction> 
    <InstallExecuteSequence> 
     <Custom Action="InstallScript" Before="InstallFinalize" /> 
    </InstallExecuteSequence> 

    </Fragment> 

это была просто небольшая ошибка в конце бутон это было не так легко найти то, что проблема была. я надеюсь, что этот пример поможет людям решить эту же проблему и сэкономить их много времени на выяснение проблемы.