So far great experience with squirrel, but I ran into a little issue. When I try to use " 铆 " character in the title of nuget package, releasify won't work. It fails with this error:
Squirrel : System.AggregateException: One or more errors occurred. --->
System.Exception: Failed to link WiX template, command invoked was: 'light.exe
-ext WixNetFxExtension -sval -out
"D:\Projects\ScanApp\ScanApp_\Releases\Setup.msi"
"D:\Projects\ScanApp\ScanApp_\Releases\Setup.wixobj"'
At line:1 char:1
+ Squirrel --releasify document_manager_scan_app.0.9.0.nupkg --setupIco ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (System.Aggregat...\Setup.wixobj"'
:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Output was:
Windows Installer XML Toolset Linker version 3.10.0.2103
Copyright (c) Outercurve Foundation. All rights reserved.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(29) : error LGHT0311 : A
string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist
in the database's code page, or update the database's code page by modifying
one of the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(3) : error LGHT0311 : A string
was provided with characters that are not available in the specified database
code page '1252'. Either change these characters to ones that exist in the
database's code page, or update the database's code page by modifying one of
the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(55) : error LGHT0311 : A
string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist
in the database's code page, or update the database's code page by modifying
one of the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
at Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean
includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,
CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at Squirrel.Update.Program.Releasify(String package, String targetDir,
String packagesDir, String bootstrapperExe, String backgroundGif, String
signingOpts, String baseUrl, String setupIcon, Boolean gen
erateMsi, String frameworkVersion, Boolean generateDeltas)
at Squirrel.Update.Program.executeCommandLine(String[] args)
at Squirrel.Update.Program.main(String[] args)
at Squirrel.Update.Program.Main(String[] args)
---> (Inner Exception #0) System.Exception: Failed to link WiX template,
command invoked was: 'light.exe -ext WixNetFxExtension -sval -out
"D:\Projects\ScanApp\ScanApp_\Releases\Setup.msi"
"D:\Projects\ScanApp\ScanApp_\Releases\Setup.wixobj"'
Output was:
Windows Installer XML Toolset Linker version 3.10.0.2103
Copyright (c) Outercurve Foundation. All rights reserved.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(29) : error LGHT0311 : A
string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist
in the database's code page, or update the database's code page by modifying
one of the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(3) : error LGHT0311 : A string
was provided with characters that are not available in the specified database
code page '1252'. Either change these characters to ones that exist in the
database's code page, or update the database's code page by modifying one of
the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
D:\Projects\ScanApp\ScanApp_\Releases\Setup.wxs(55) : error LGHT0311 : A
string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist
in the database's code page, or update the database's code page by modifying
one of the following attributes: Product/@Codepage, Module/@Codepage,
Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
at Squirrel.Update.Program.<createMsiPackage>d__21.MoveNext()<---
Also, when I use " 铆 " character in my assembly name, .exe file in localAppData wil be missing this character (question mark instead).
Is there any way to set encoding or something as to prevent this from hapenning?
Thanks.
This looks like more of an issue with the WIX Toolset, which I'd need to dig into if you can achieve this - I'm fairly certain you should be able to, but I'm not entirely certain this is a Squirrel issue in itself.
@MrBlueHere I was able to successfully releasify with "铆" on the places you mentioned. Could you please take a look at https://github.com/gojanpaolo/SquirrelDemo/tree/1413?
src\MyApp.nuspec title is MyApp铆src\MyApp\MyApp.csproj AssemblyName is MyApp铆src\MyApp\Properties\AssemblyInfo.cs AssemblyTitle is MyApp铆you could try to build and releasify by running the src\build.cmd file.
@gojanpaolo I tried to releasify your project and it worked as expected, no error whatsoever.
To elaborate more, I have no problem with my project when I use "铆" character in AssemblyName or AssemblyTitle, the error only shows up when I use it in nuget package title.
What do you mean by nuget package title? Is it different from the .nuspec title?
Also, when you build it, the generated .nupkg file will have its title set to MyApp铆
I mean the
I use NugetPackageExplorer, that's where I edit it.
I'm trying to understand why am I able to releasify your project just fine with the special character, but mine still fails. Could it be because I use the new csproj format?
@MrBlueHere Could you create/share a project that can reproduce the issue?
I tried it with a new project using new csproj format, but releasify still worked. I am unable to reproduce this issue on a different project, so I assume there must be something wrong with mine. I think I'll close this. If I find a solution in the future, I'll leave it in here.
Most helpful comment
I tried it with a new project using new csproj format, but releasify still worked. I am unable to reproduce this issue on a different project, so I assume there must be something wrong with mine. I think I'll close this. If I find a solution in the future, I'll leave it in here.