Squirrel.windows: Some characters in nuget package title cause problems

Created on 13 Nov 2018  路  8Comments  路  Source: Squirrel/Squirrel.Windows

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.

needs-more-information

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.

All 8 comments

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 attribute in .nupkg file.</p> <p>I use NugetPackageExplorer, that's where I edit it.</p> </div> <div class="card-footer"> <div class="row"> <div class="col"> <img src="https://avatars.githubusercontent.com/u/30356558?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="MrBlueHere picture"> <strong>MrBlueHere</strong> <span class="text-muted ml-1">on 10 May 2019</span> </div> <div class="col text-right"> </div> </div> </div> </div> <div class="card card-custom mb-4"> <div class="card-body pt-3 pb-3 markdown"> <p>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?</p> </div> <div class="card-footer"> <div class="row"> <div class="col"> <img src="https://avatars.githubusercontent.com/u/30356558?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="MrBlueHere picture"> <strong>MrBlueHere</strong> <span class="text-muted ml-1">on 10 May 2019</span> </div> <div class="col text-right"> </div> </div> </div> </div> <div class="card card-custom mb-4"> <div class="card-body pt-3 pb-3 markdown"> <p><strong>@MrBlueHere</strong> Could you create/share a project that can reproduce the issue?</p> </div> <div class="card-footer"> <div class="row"> <div class="col"> <img src="https://avatars.githubusercontent.com/u/16026608?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="gojanpaolo picture"> <strong>gojanpaolo</strong> <span class="text-muted ml-1">on 14 May 2019</span> </div> <div class="col text-right"> </div> </div> </div> </div> <div class="card card-custom mb-4"> <div class="card-body pt-3 pb-3 markdown"> <p>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.</p> </div> <div class="card-footer"> <div class="row"> <div class="col"> <img src="https://avatars.githubusercontent.com/u/30356558?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="MrBlueHere picture"> <strong>MrBlueHere</strong> <span class="text-muted ml-1">on 15 May 2019</span> </div> <div class="col text-right"> 👍<span class="ml-2 mr-3">2</span> </div> </div> </div> </div> </div> <div class="col-12"> <div class="card card-custom mb-4"> <div class="card-body pt-3 pb-3 markdown text-center helpful"> <div class="title">Was this page helpful?</div> <div class="mt-1" onMouseLeave="rating(380434103, 0);"> <i class="fas fa-star inactive" id="star-1" onMouseOver="rating(380434103, 1);" onclick="rate(380434103, 1);"></i> <i class="fas fa-star inactive" id="star-2" onMouseOver="rating(380434103, 2);" onclick="rate(380434103, 2);"></i> <i class="fas fa-star inactive" id="star-3" onMouseOver="rating(380434103, 3);" onclick="rate(380434103, 3);"></i> <i class="fas fa-star inactive" id="star-4" onMouseOver="rating(380434103, 4);" onclick="rate(380434103, 4);"></i> <i class="fas fa-star inactive" id="star-5" onMouseOver="rating(380434103, 5);" onclick="rate(380434103, 5);"></i> </div> <div class="description text-small"><span id="rating-val">0</span> / 5 - <span id="rating-count">0</span> ratings</div> </div> </div> <div class="mb-4"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3835332123789605" data-ad-slot="3452512275" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> </div> <div class="col-12 col-lg-4"> <div id="ph-above-related"></div> <div class="card card-custom issue-box"> <div class="card-body pt-3 pb-5"> <h2 class="mb-4">Related issues</h2> <div> <strong> <a href="/squirrel-windows/205707437/executablestubforexe-and-console-app">ExecutableStubForExe and console app</a> </strong> </div> <div class="text-muted text-small mt-2"> <img src="https://avatars.githubusercontent.com/u/9933960?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="CodeFunta picture"> <strong class="pr-1" dir="ltr">CodeFunta</strong>  路  <span class="px-1" dir="ltr">6</span><span>Comments</span> </div> <hr /> <div> <strong> <a href="/squirrel-windows/87319399/pass-arguments-to-update-exe">Pass arguments to Update.exe</a> </strong> </div> <div class="text-muted text-small mt-2"> <img src="https://avatars.githubusercontent.com/u/5360069?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="Mzartek picture"> <strong class="pr-1" dir="ltr">Mzartek</strong>  路  <span class="px-1" dir="ltr">4</span><span>Comments</span> </div> <hr /> <div> <strong> <a href="/squirrel-windows/555440905/concurrent-squirrel-installations-results-in-unpredictable">Concurrent Squirrel installations results in unpredictable behaviour</a> </strong> </div> <div class="text-muted text-small mt-2"> <img src="https://avatars.githubusercontent.com/u/3214803?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="ralish picture"> <strong class="pr-1" dir="ltr">ralish</strong>  路  <span class="px-1" dir="ltr">4</span><span>Comments</span> </div> <hr /> <div> <strong> <a href="/squirrel-windows/485464315/checking-if-multiple-wpf-apps-are-running-at-the-same-time">Checking if multiple wpf apps are running at the same time</a> </strong> </div> <div class="text-muted text-small mt-2"> <img src="https://avatars.githubusercontent.com/u/549272?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="mihaimyh picture"> <strong class="pr-1" dir="ltr">mihaimyh</strong>  路  <span class="px-1" dir="ltr">4</span><span>Comments</span> </div> <hr /> <div> <strong> <a href="/squirrel-windows/193200088/thoughts-on-an-alternative-machine-wide-install">Thoughts on an alternative machine-wide install</a> </strong> </div> <div class="text-muted text-small mt-2"> <img src="https://avatars.githubusercontent.com/u/1424146?v=4&s=40" style="width:20px; height:20px;" class="mr-2 rounded float-left" alt="Andrew-Hanlon picture"> <strong class="pr-1" dir="ltr">Andrew-Hanlon</strong>  路  <span class="px-1" dir="ltr">6</span><span>Comments</span> </div> </div> </div> <div class="sticky-top pt-4"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3835332123789605" data-ad-slot="3919948963" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div id="ph-below-related-2" class="mt-4"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3835332123789605" data-ad-slot="3919948963" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <div class="col-12 col-lg-4"> </div> </div> <div class="skyscraper-container"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3835332123789605" data-ad-slot="7879185320" data-ad-format="vertical" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="mt-5 spacer"></div> <footer class="mt-5 pb-2 py-4 text-center mt-auto"> <div class="container"> <a class="navbar-brand logo mr-5" href="/"> <img src="/assets/img/logo.svg" width="40" height="40" alt="bleepingcoder logo"> bleeping<strong>coder</strong> </a> <div class="mt-4"> bleepingcoder.com uses publicly licensed GitHub information to provide developers around the world with solutions to their problems. We are not affiliated with GitHub, Inc. or with any developers who use GitHub for their projects. We do not host any of the videos or images on our servers. All rights belong to their respective owners. </div> <div> Source for this page: <a href="https://www.github.com/Squirrel/Squirrel.Windows/issues/1413" rel="nofollow noreferrer" target="_blank">Source</a> </div> </div> <hr class="mb-5 mt-5"> <div class="container"> <div class="row"> <div class="col-sm-4 col-lg mb-sm-0 mb-5"> <strong>Popular programming languages</strong> <ul class="list-unstyled mb-0 mt-2"> <li class="mb-2"> <a href="/python" dir="ltr">Python</a> </li> <li class="mb-2"> <a href="/javascript" dir="ltr">JavaScript</a> </li> <li class="mb-2"> <a href="/typescript" dir="ltr">TypeScript</a> </li> <li class="mb-2"> <a href="/cpp" dir="ltr">C++</a> </li> <li class="mb-2"> <a href="/csharp" dir="ltr">C#</a> </li> </ul> </div> <div class="col-sm-4 col-lg mb-sm-0 mb-5"> <strong>Popular GitHub projects</strong> <ul class="list-unstyled mb-0 mt-2"> <li class="mb-2"> <a href="/microsoft/vscode" dir="ltr">vscode</a> </li> <li class="mb-2"> <a href="/numpy/numpy" dir="ltr">numpy</a> </li> <li class="mb-2"> <a href="/ant-design/ant-design" dir="ltr">ant-design</a> </li> <li class="mb-2"> <a href="/mui-org/material-ui" dir="ltr">material-ui</a> </li> <li class="mb-2"> <a href="/vercel/next-js" dir="ltr">next.js</a> </li> </ul> </div> <div class="col-sm-4 col-lg mb-0"> <strong>More GitHub projects</strong> <ul class="list-unstyled mb-0 mt-2"> <li class="mb-2"> <a href="/rust-lang/rust" dir="ltr">rust</a> </li> <li class="mb-2"> <a href="/moment/moment" dir="ltr">moment</a> </li> <li class="mb-2"> <a href="/yarnpkg/yarn" dir="ltr">yarn</a> </li> <li class="mb-2"> <a href="/mozilla/pdf-js" dir="ltr">pdf.js</a> </li> <li class="mb-2"> <a href="/JuliaLang/julia" dir="ltr">julia</a> </li> </ul> </div> </div> </div> <hr class="mb-5 mt-5"> <div class="container text-muted"> 漏 2026 bleepingcoder.com - <a href="/bleeps" rel="nofollow">Contact</a><br /> By using our site, you acknowledge that you have read and understand our <a href="/cookies" rel="nofollow">Cookie Policy</a> and <a href="/privacy" rel="nofollow">Privacy Policy</a>. </div> </footer> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" crossorigin="anonymous"></script> <script async src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> <!--<script defer type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5fb2db66acbd74b2"></script>--> <script type="text/javascript" src="/assets/js/main.js"></script> <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script></body> </html>