I have a C++ WiX custom action which happens to be a shim to a .NET assembly. I am now trying to produce a 64-bit version of the installation kit.
Questions: 1. Do I have to recompile my shim (i.e. C++ custom action) to 64-bit? 2. If so, here is the problem: - existing WiX C++ libraries (wcautil.lib and dutil.lib) are 32-bit. - i tried linking against them while doing the 64-bit compile but a number of symbols is not found. - trying to solve the problem i ventured down the path of recompiling these libs on to 64-bit platform, but hit a roadblock as i do not know how to pass the required compiler #define to the VisualCPP.ClTask in Nant. Questions: 1. How do i pass /D _X64_ via nant script? Based on the log output, the task that gets executed is VisualCpp.Tasks.ClTask.ExecuteTask. now the nant script only has a call to "makeNativeLib". I am quite puzzled about this target. Where is this coming from? And more importantly how do I pass ClTask.options values through it? Obviously a bunch of "standard" defines are already present (see the log) but i am not sure how i can add my defines to it... Hope this makes sense. Thanks. Sanin Here is the log output -- check the: NAnt 0.86 (Build 0.86.2962.0; nightly; 2/10/2008) Copyright (C) 2001-2008 Gerry Shaw http://nant.sourceforge.net Buildfile: file:///C:/Documents and Settings/Administrator/Desktop/wix3-sources/wix.build Target framework: Microsoft .NET Framework 2.0 Base Directory: C:\Documents and Settings\Administrator\Desktop\wix3-sources. Target(s) specified: wcautil [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\wix.include. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\global.include. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\directories.include. [property] Property "dir.root" already exists, and "overwrite" is set to false. [echo] dir.root = C:\Documents and Settings\Administrator\Desktop\wix3-sources\ [property] Property "flavor" already exists, and "overwrite" is set to false. [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0\. [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\VSIP\8.0.60912\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\VSIP\8.0.60912\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\VSIP\8.0.60912\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [echo] Visual Studio 2005 SDK September 2006 not detected; VS 2005 versions of Sconce and Votive will not be built. [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\VSIP\9.0\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\VSIP\9.0\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\VSIP\9.0\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [echo] Visual Studio 2008 SDK not detected; VS 2008 versions of Sconce and Votive will not be built. [echo] PlatformSDK directory (dir.platformsdk) = C:\Program Files\Microsoft SDKs\Windows\v6.0\ [echo] VC8 directory (dir.vc8) = c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC [echo] NAnt directory (dir.nant) = c:\SpareDisk\nant-0.86-beta1\bin\ [echo] hhc.exe (tool.hhc) found at C:\Program Files\HTML Help Workshop\hhc.exe [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ambient\appsynup\appsynup.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\dutil\dutil.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\ext.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\complusextension\complusextension.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\msmqextension\msmqextension.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\netfxextension\netfxextension.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\officeextension\officeextension.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ext\uiextension\uiextension.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ca\serverca\serverca.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ca\serverca\scaexec\scaexec.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ca\serverca\scasched\scasched.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\setup\setup.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\setupbld\setupbld.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\setupexe\setupexe.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\updateexe\updateexe.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\votive\votive2005.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\votive\votive2008.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ca\wcautil\wcautil.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\winterop\winterop.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\src\ca\wixca\wixca.build. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\bin\zip.build. [regex] Setting property 'wixver' to '3.0.3907.0'. [include] Including file C:\Documents and Settings\Administrator\Desktop\wix3-sources\test\wixtests.build. [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTS\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTS\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTS\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTD\. [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTT\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTT\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS\VSTT\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTS\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTS\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTS\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTD\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTD\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTD\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 [readregistry] Opening LocalMachine:SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTT\. [readregistry] Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTT\';hive='Microsoft.Win32.RegistryHive[]';: [readregistry] NAnt.Core.BuildException: Registry Path Not Found! - key='SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\VSTT\';hive='Microsoft.Win32.RegistryHive[]'; [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.LookupRegKey(String key, RegistryHive[] registries) in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 183 [readregistry] at NAnt.Win32.Tasks.ReadRegistryTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Win32\Tasks\ReadRegistryTask.cs:line 145 [readregistry] at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 178 prereqcheck: snskip: [exec] Starting 'c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\sn.exe (-Vl)' in 'C:\Documents and Settings\Administrator\Desktop\wix3-sources' [exec] [exec] Microsoft (R) .NET Framework Strong Name Utility Version 2.0.50727.42 [exec] Copyright (c) Microsoft Corporation. All rights reserved. [exec] [exec] Assembly/Strong Name Users [exec] =========================================== [exec] *,36e4ce08b8ecfb17 All users [delete] Deleting file C:\Documents and Settings\Administrator\Local Settings\Temp\tmpBE.tmp. global.makeDirs: makeDirs: dutil.inc: [copy] Copying 0 files to 'C:\Documents and Settings\Administrator\Desktop\wix3-sources\\Release\debug'. Adding a fileset reference with id 'compileCpp.fileset.sources'. makeNativeLib: checkRequiredArgs: compileCpp: checkRequiredArgs: [cl] 'C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug\precomp.pch' does not exist, recompiling. [cl] PCH out of date, recompiling all sources. [cl] Compiling 1 files to 'C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug'. [cl] Contents of C:\Documents and Settings\Administrator\Local Settings\Temp\tmpBF.tmp. [cl] /c [cl] -FC -GF -GS -Gy -Gz -W3 -Z7 -Zl -Zp8 -RTC1 -Od -DWINVER=0x0500 -DDEVL=1 -D_WINNT -DWINNT=1 -D_NT1X_=100 -DCONDITION_HANDLING=1 -D_MT=1 -DNT_UP=1 -DSTD_CALL -DWIN32 -D_WIN32_WINNT=0x0500 -D_WIN32_IE=0x0500 -D_X86_ -Di386=1 -D_X86_=1 -DDEBUG -D_DEBUG -DDBG=1 -DFPO=0 -YlprecompDefine /I "C:\Program Files\Microsoft SDKs\Windows\v6.0\Include" /I "c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\include" /I "C:\Documents and Settings\Administrator\Desktop\wix3-sources\\src\dutil" /I "C:\Documents and Settings\Administrator\Desktop\wix3-sources\\inc" [cl] /Fd"C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug/" [cl] /Fo"C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug/" [cl] /Fp"C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug\precomp.pch" [cl] /Yc"C:\Documents and Settings\Administrator\Desktop\wix3-sources\\src\dutil\precomp.h" [cl] "C:\Documents and Settings\Administrator\Desktop\wix3-sources\Build\debug\precomp.cpp" [cl] [cl] Starting 'cl (@"C:\Documents and Settings\Administrator\Local Settings\Temp\tmpBF.tmp" /nologo)' in 'C:\Documents and Settings\Administrator\Desktop\wix3-sources' [cl] precomp.cpp [cl] c:\program files\microsoft sdks\windows\v6.0\include\winnt.h(81) : fatal error C1189: #error : "No Target Architecture" [cl] BUILD FAILED - 7 non-fatal error(s), 2 warning(s) C:\Documents and Settings\Administrator\Desktop\wix3-sources\global.include(210,8): External Program Failed: cl (return code was 2): NAnt.Core.BuildException: C:\Documents and Settings\Administrator\Desktop\wix3-sources\global.include(210,8): External Program Failed: cl (return code was 2) at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Tasks\ExternalProgramBase.cs:line 418 at NAnt.VisualCpp.Tasks.ClTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.VisualCpp\Tasks\ClTask.cs:line 426 at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 186 at NAnt.Core.TaskContainer.ExecuteChildTasks() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\TaskContainer.cs:line 120 at NAnt.Core.TaskContainer.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\TaskContainer.cs:line 86 at NAnt.Core.Tasks.IfTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Tasks\IfTask.cs:line 363 at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 186 at NAnt.Core.Target.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Target.cs:line 247 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Project.cs:line 917 at NAnt.Core.Tasks.CallTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Tasks\CallTask.cs:line 211 at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 186 at NAnt.Core.Target.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Target.cs:line 247 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Project.cs:line 917 at NAnt.Core.Tasks.CallTask.ExecuteTask() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Tasks\CallTask.cs:line 211 at NAnt.Core.Task.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Task.cs:line 186 at NAnt.Core.Target.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Target.cs:line 247 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Project.cs:line 917 at NAnt.Core.Project.Execute() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Project.cs:line 869 at NAnt.Core.Project.Run() in d:\Source\nant-20080210T102007Z\src\NAnt.Core\Project.cs:line 954 Total time: 1.5 seconds. -- View this message in context: http://www.nabble.com/Recompiling-WiX-C%2B%2B-libs-for-64-bit-tp16261155p16261155.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users