Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Light.exe failed to run when output path contains unicode characters #4923

Open
wixbot opened this issue Oct 9, 2015 · 8 comments
Open

Light.exe failed to run when output path contains unicode characters #4923

wixbot opened this issue Oct 9, 2015 · 8 comments
Milestone

Comments

@wixbot
Copy link

wixbot commented Oct 9, 2015

When output path contains unicode characters, light.exe will fail to run.

Originally opened by khangt2011

@wixbot
Copy link
Author

wixbot commented Oct 9, 2015

Please post the errors and stack trace.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Oct 10, 2015

I build the wix project directly from inside VS2010, so the error I got from the ouput window is:

error LGHT0001: The filename, directory name, or volume label syntax is incorrect. (Exception from HRESULT: 0x8007007B) light.exe

I am not seeing any stack trace or how to get to it. Where would the stack trace be located?

Originally posted by khangt2011

@wixbot
Copy link
Author

wixbot commented Oct 12, 2015

Set verbosity to diagnostic level (e.g., /v:diag on the command line). That will include the stack trace.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Oct 12, 2015

Ok I got the stack trace below:

light.exe : error LGHT0001 : The filename, directory name, or volume label syntax is incorrect. (Exception from HRESULT: 0x8007007B)

Exception Type: System.IO.FileNotFoundException

Stack Trace:
at Microsoft.Tools.WindowsInstallerXml.Cab.Interop.NativeMethods.CreateCabFin
ish(IntPtr contextHandle, IntPtr newCabNamesCallBackAddress)
at Microsoft.Tools.WindowsInstallerXml.Cab.WixCreateCab.Complete(IntPtr newCa
bNamesCallBackAddress)
at Microsoft.Tools.WindowsInstallerXml.Output.SaveCab(String path, BinderFile
Manager binderFileManager, WixVariableResolver wixVariableResolver, String tempF
ilesLocation)
at Microsoft.Tools.WindowsInstallerXml.Pdb.Save(String path, BinderFileManage
r binderFileManager, WixVariableResolver wixVariableResolver, String tempFilesLo
cation)
at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, Str
ing databaseFile)
at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file
)
at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)

Originally posted by khangt2011

@wixbot
Copy link
Author

wixbot commented Oct 12, 2015

Repost with formatted code for the stack trace below:

light.exe : error LGHT0001 : The filename, directory name, or volume label synta
x is incorrect. (Exception from HRESULT: 0x8007007B)

Exception Type: System.IO.FileNotFoundException

Stack Trace:
   at Microsoft.Tools.WindowsInstallerXml.Cab.Interop.NativeMethods.CreateCabFin
ish(IntPtr contextHandle, IntPtr newCabNamesCallBackAddress)
   at Microsoft.Tools.WindowsInstallerXml.Cab.WixCreateCab.Complete(IntPtr newCa
bNamesCallBackAddress)
   at Microsoft.Tools.WindowsInstallerXml.Output.SaveCab(String path, BinderFile
Manager binderFileManager, WixVariableResolver wixVariableResolver, String tempF
ilesLocation)
   at Microsoft.Tools.WindowsInstallerXml.Pdb.Save(String path, BinderFileManage
r binderFileManager, WixVariableResolver wixVariableResolver, String tempFilesLo
cation)
   at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, Str
ing databaseFile)
   at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file
)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)

Originally posted by khangt2011

@wixbot
Copy link
Author

wixbot commented Oct 13, 2015

The cabinet API is old and doesn't support Unicode paths. It might able to be worked around so we're opening this for future research.

Release changed from v3.9 to v4.x

@petrparik
Copy link

Hello, this is causing me big troubles. I unfortunately have non-Unicode character in my surname and therefore in my C:\Users... folder name (PC joined to AAD, no chance to rename the directory). I have no idea how to use light.exe or what to do. Any advice is highly appreciated, I need to build my project and ship it. Thanks!

@Neustradamus
Copy link

Dear @wixtoolset,

Any news about this ticket?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants