You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stack Trace:
in Microsoft.Tools.WindowsInstallerXml.PatchTransform.Validate()
Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object
in Microsoft.Tools.WindowsInstallerXml.PatchTransform.Validate()
in Microsoft.Tools.WindowsInstallerXml.Patch.AttachTransforms(ArrayList transforms)
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 257
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Main(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 101
in Microsoft.Tools.WindowsInstallerXml.Patch.AttachTransforms(ArrayList transforms)
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 210
I looked into the problem deeper, I built the WIX toolset from the source code and found that the problem occurs in the file PatchTransform.cs in line 171:
Table removeFileTable = this.Transform.Tables["RemoveFile"];
foreach (Row removeFileRow in removeFileTable.Rows)
The variable removeFileTable was null in my case. After having added an "if" check for null, the problem was gone and I saw the following warning:
warning PYRO1095: File 'libexslt.dll' was removed from component 'X'. Removing a file from a component will not result in the file being removed by a patch. You should author a RemoveFile element in your component to remove the file from the installation if you want the file to be removed.
Obviously in my project there was no RemoveFile and the tool failed to process it.
I propose to insert "if not null" check in the PatchTransform.cs file for the removeFileTable variable just the way it is done in the other lines of the file.
While creating a patch with pyro.exe v3.7 I receive the following exception:
pyro.exe : error PYRO0001:
[D:\3.10\Source\Installer.wix\Patch\ARMFull\ARMFull.wixproj]
Exception Type: System.NullReferenceException
Stack Trace:
in Microsoft.Tools.WindowsInstallerXml.PatchTransform.Validate()
Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object
in Microsoft.Tools.WindowsInstallerXml.PatchTransform.Validate()
in Microsoft.Tools.WindowsInstallerXml.Patch.AttachTransforms(ArrayList transforms)
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 257
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Main(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 101
in Microsoft.Tools.WindowsInstallerXml.Patch.AttachTransforms(ArrayList transforms)
in Microsoft.Tools.WindowsInstallerXml.Tools.Pyro.Run(String[] args) in e:\delivery\Dev\wix37_public\src\pyro\pyro.cs:line 210
I looked into the problem deeper, I built the WIX toolset from the source code and found that the problem occurs in the file PatchTransform.cs in line 171:
The variable removeFileTable was null in my case. After having added an "if" check for null, the problem was gone and I saw the following warning:
warning PYRO1095: File 'libexslt.dll' was removed from component 'X'. Removing a file from a component will not result in the file being removed by a patch. You should author a RemoveFile element in your component to remove the file from the installation if you want the file to be removed.
Obviously in my project there was no RemoveFile and the tool failed to process it.
I propose to insert "if not null" check in the PatchTransform.cs file for the removeFileTable variable just the way it is done in the other lines of the file.
The text was updated successfully, but these errors were encountered: