installer - Recursivly opening WiX bootstrapper -
i'm using wix 3.7's generatebootstrapper generate bootstrappers i've used in visual studio deployment project.
my bundle.wxs
chain single item, referencing msi file.
<chain> <msipackage id="myprograminstaller" sourcefile="$(var.myprograminstaller.targetpath)" compressed="no"/> </chain>
i modified bootstrapper project's .wixproj include bootstrapper generation of various components.
... <itemgroup> <projectreference include="..\myprograminstaller\myprograminstaller.wixproj"> <name>myprograminstaller</name> <project>{my-guid}</project> <private>true</private> <donotharvest>true</donotharvest> <refprojectoutputgroups>binaries;content;satellites</refprojectoutputgroups> <reftargetdir>installfolder</reftargetdir> </projectreference> </itemgroup> <itemgroup> <bootstrapperfile include="microsoft.net.framework.3.5.sp1"> <productname>.net framework 3.5 sp1</productname> </bootstrapperfile> <bootstrapperfile include=".netframework,version=v4.0"> <productname>.net framework 4.0</productname> </bootstrapperfile> <bootstrapperfile include="microsoft.windows.installer.3.1"> <productname>windows installer 3.1</productname> </bootstrapperfile> <bootstrapperfile include="microsoft.windows.installer.4.5"> <productname>windows installer 4.5</productname> </bootstrapperfile> <bootstrapperfile include="microsoft.sql.server.express.10.50.1600.1"> <productname>microsoft sql server 2008 r2</productname> </bootstrapperfile> <bootstrapperfile include="windows.imaging.component"> <productname>windows imaging component</productname> </bootstrapperfile> <bootstrapperfile include="windowsxp-kb921337-x86-enuwinxpsp2"> <productname>win xp sp2 hotfix</productname> </bootstrapperfile> </itemgroup> <import project="$(wixtargetspath)" /> <!-- modify build process, add task inside 1 of targets below , uncomment it. other similar extension points exist, see wix.targets. <target name="beforebuild"> </target> --> <target name="afterbuild"> <generatebootstrapper applicationfile="$(targetfilename)" applicationname="my program" bootstrapperitems="@(bootstrapperfile)" componentslocation="relative" copycomponents="true" outputpath="$(outputpath)" path="c:\program files (x86)\microsoft sdks\windows\v7.0a\bootstrapper\" /> </target>
when build bundle project, see msi, exe, , folders of prerequisite packages expected. when go execute bootstrapper exe, briefly see dialog indicating 'setup initializing components', , hidden , new window same thing opening up. somehow, setup file recursively calling itself, , can't determine why. looking @ install.log
, seems check of prerequisites execute, finishing sql server, , determining nothing needs installed (true development machine), , calling setup.exe
again. doesn't stop until close out setup window enough abort next call. should trying call .msi file again, not setup.exe, i'm not sure what's causing behavior.
result of running operator 'valueequalto' on property 'sqlexpresschk' , value '-2': false result of running operator 'valueequalto' on property 'sqlexpresschk' , value '-3': false result of running operator 'valueequalto' on property 'sqlexpresschk' , value '-4': false result of running operator 'valuelessthan' on property 'sqlexpresschk' , value '-4': false result of running operator 'valuenotequalto' on property 'processorarchitecture' , value 'amd64': false result of running operator 'valuenotequalto' on property 'sqlexpresschk' , value '1': true result of checks command 'sqlexpress2008_r2\sqlexpr_x64_enu.exe' 'bypass' running checks command 'sqlexpress2008_r2\sqlexpr32_x86_enu.exe' result of running operator 'valuenotequalto' on property 'processorarchitecture' , value 'amd64': false result of running operator 'valuenotequalto' on property 'sqlexpresschk' , value '2': true result of checks command 'sqlexpress2008_r2\sqlexpr32_x86_enu.exe' 'bypass' 'sql server 2008 r2 express' runcheck result: no install needed launching application. running command 'c:\path\to\mybootstrapper\bin\release\setup.exe' arguments ''
is there in generatebootstapper
that's causing this? attempted follow example how use wix create windows installer files ?.
the answer lies in <genreatebootsrapper>
tag.
the applicationfile attribute referring msi file. $(targetfilename)
, using originally, must inflate setup.exe
, causing recursively execute.
<target name="afterbuild"> <generatebootstrapper applicationfile="myinstaller.msi" applicationname="my program" bootstrapperitems="@(bootstrapperfile)" componentslocation="relative" copycomponents="true" outputpath="$(outputpath)" path="c:\program files (x86)\microsoft sdks\windows\v7.0a\bootstrapper\" /> </target>
however, how bootstrapper target msi file variable name in file?
Comments
Post a Comment