Earlier this month I finally updated a project to WiX 3.7.1224. After I installed the new version wixproj was no longer recognized in VS2008, so I also upgraded my project to VS2012. Everything has been working without issue under Votive/MSBuild, but today I started working on being able to patch my project. The command line tools are executed, but give various nullreference errors.
An attempt to uninstall WiX and reinstall has not fixed the problems so hopefully someone will be able to help. I first noticed when following Bob's blog about " Easy pure-WiX patching with Melt <http://www.joyofsetup.com/2013/07/16/easy-pure-wix-patching-with-melt/> " feature. Running melt with a command similar to the example: melt .\product-[oldversion].msi -out .\product-[newversion].wixpdb -pdb product-[oldversion].wixpdb -x .\product-[oldversion]-[newversion] Gives me the following stack trace: melt.exe : error MELT0001 : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. Exception Type: System.IO.PathTooLongException Stack Trace: at System.IO.PathHelper.GetFullPathName() at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength) at System.IO.Path.GetFullPathInternal(String path) at System.IO.FileInfo.Init(String fileName, Boolean checkHost) at System.IO.FileInfo..ctor(String fileName) at Microsoft.Deployment.Compression.ArchiveFileStreamContext.OpenFileWriteStream(String path, Int64 fileSize, DateTime lastWriteTime) at Microsoft.Deployment.Compression.Cab.CabUnpacker.CabExtractCopyFile(NOTIFICATION notification) at Microsoft.Deployment.Compression.Cab.CabUnpacker.CabExtractNotify(NOTIFICATIONTYPE notificationType, NOTIFICATION notification) at Microsoft.Deployment.Compression.Cab.NativeMethods.FDI.Copy(Handle hfdi, String pszCabinet, String pszCabPath, Int32 flags, PFNNOTIFY pfnfdin, IntPtr pfnfdid, IntPtr pvUser) at Microsoft.Deployment.Compression.Cab.CabUnpacker.Unpack(IUnpackStreamContext streamContext, Predicate`1 fileFilter) at Microsoft.Deployment.Compression.Cab.CabEngine.Unpack(IUnpackStreamContext streamContext, Predicate`1 fileFilter) at Microsoft.Deployment.Compression.ArchiveInfo.UnpackFileSet(IDictionary`2 fileNames, String destDirectory, EventHandler`1 progressHandler) at Microsoft.Deployment.WindowsInstaller.Package.InstallPackage.ExtractFilesOnOneMediaDisk(String mediaCab, InstallPathMap compressedFileMap, InstallPathMapuncompressedFileMap) at Microsoft.Deployment.WindowsInstaller.Package.InstallPackage.ProcessFilesByMediaDisk(ICollection`1 fileKeys, ProcessFilesOnOneMediaDiskHandler diskHandler ) at Microsoft.Deployment.WindowsInstaller.Package.InstallPackage.ExtractFiles(ICollection`1 fileKeys) at Microsoft.Deployment.WindowsInstaller.Package.InstallPackage.ExtractFiles() at Microsoft.Tools.WindowsInstallerXml.Tools.Melt.MeltProduct() at Microsoft.Tools.WindowsInstallerXml.Tools.Melt.Run(String[] args) There are no paths that long as far as I can see. And I thought this was an issue with melt until I tried using the torch method I'd been using previously. torch -p -xi .\product-[oldver].wixpdb .\product-[newver].wixpdb -out diff.wixmst And got the error: torch.exe : error TRCH0001 : Object reference not set to an instance of an object. Exception Type: System.NullReferenceException Stack Trace: at Microsoft.Tools.WindowsInstallerXml.Differ.UpdateTransformSummaryInformationTable(Table summaryInfoTable, TransformFlags validationFlags) at Microsoft.Tools.WindowsInstallerXml.Differ.Diff(Output targetOutput, Output updatedOutput, TransformFlags validationFlags) at Microsoft.Tools.WindowsInstallerXml.Tools.Torch.Run(String[] args) Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Tools.WindowsInstallerXml.Differ.UpdateTransformSummaryInformationTable(Table summaryInfoTable, TransformFlags validationFlags) at Microsoft.Tools.WindowsInstallerXml.Differ.Diff(Output targetOutput, Output updatedOutput, TransformFlags validationFlags) at Microsoft.Tools.WindowsInstallerXml.Tools.Torch.Run(String[] args) at Microsoft.Tools.WindowsInstallerXml.Tools.Torch.Main(String[] args) Binder temporary directory located at 'C:\Users\...\AppData\Local\Temp\0ceiae1n'. Unbinder temporary directory located at 'C:\Users\...\AppData\Local\Temp\0ceiae1n'. Torch temporary directory located at 'C:\Users\...\AppData\Local\Temp\gn1oesgh'. Any direction to what may have gone awry and how to correct it is appreciated. Thanks, Randolph -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Problems-using-commandline-tools-after-updating-to-3-7-1224-0-tp7587927.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users