- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,我想做的事情是否可行,如果答案是肯定的,该怎么做。
我是 wix 的新手,一直在阅读如何动态地将文件夹包含到安装程序中,最终我能够在 nant 中执行一项任务,使用 heat.exe 生成 wxs 文件,然后添加新生成的文件wxs 文件来点亮和蜡烛任务。这允许我将文件夹的内容添加到 msi,然后安装该文件夹及其内容。
我的问题始于我添加到 msi 的文件夹包含名称已本地化的文件(这是要求)。
当我将一个文件添加到目录结构中时,该文件的名称为俄语,例如,该文件不是 1252 代码页,我收到错误:
[exec] ......Templates.wxs(65) : 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.
我尝试将 Product/@Codepage
设置为 65001
(UTF-8),但这并没有解决问题。
最终我想要做的是能够将文件夹及其内容添加到安装程序,然后其他人添加任意数量的文件,并将其名称本地化到该文件夹中。这样,每当构建运行并随后创建 msi 时,msi 将包含该文件夹及其内容。
提前非常感谢您。
最佳答案
这是 WiX.chm 关于设置 MSI 数据库代码页的说明:
You can set this to a valid Windows code page by integer like 1252, or by web name like Windows-1252. UTF-7 and UTF-8 are not officially supported because of user interface issues. Unicode is not supported.
只要您要使用不同语言命名的文件,即文件表不适合单个 Windows 代码页,您就别无选择。据说UTF-8并未得到官方支持,这给我们留下了希望。
如果将 Product
元素的 CodePage
属性设置为 UTF-8
,它将成功构建。您可以毫无问题地安装/卸载生成的 MSI。我已经玩过它了,并没有遇到上面警告中提到的任何“界面问题”。
此外,我在 google 上搜索了该主题,发现 InstallShield 允许将 MSI 数据库代码页设置为 UTF-8,which is reflected in their docs (在该页面上搜索“utf-8”)。他们对潜在的界面问题有更多话要说:
However, some scenarios result in user interface issues. For example, if an end user specifies the /qb command-line option or uninstalls the product from Add or Remove Programs, Windows Installer uses very small fonts to display the user interface text in a UTF-8 database.
他们也希望保持安全,因此默认情况下此设置为 false
(没有 UTF-8,只有 ASCII)。
那么,最后,在你的情况下我会怎么做?
UTF-8
作为代码页希望这有帮助。
关于wix - 利用 heat.exe 并获取已本地化的文件名,并使用 wix 将它们包含到 msi 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12168895/
我正在努力处理不同的 R 可执行文件。在批处理文件中运行命令行时,R.exe(带或不带 CMD BATCH 选项)、Rcmd.exe、Rscript.exe 和 Rterm.exe 有什么区别? 两者
这个问题是我之前问题的一个答案的扩展:how to save user registration in the exe... (C#) . 这个想法本身对我来说仍然很新,但它似乎是合理的。我第一次尝试
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 12 年前。 Improve thi
我正在使用 React VR 制作一个 WebVR 应用程序。我将使用 Oculus Rift 和 HTC-Vive 测试该应用程序。我正在使用浏览器 Firefox Nightly 来访问 WebV
当我从 A.exe(位于 c:/my_software/FOLDER_A/A.exe)运行 B.exe(位于 c:/my_software/FOLDER_B/B.exe)时,两者均使用 cx_Free
我有一个以前的程序员留下的exe(GUI),它是在cpp中完成的,但是我需要禁用程序中的一些键盘键,因为当它们被意外击中时,这是不可取的。我正在使用 Windows。 我能否编写一个程序来在 Wind
这不是以下 SO 问题的重复: How do I tell if a win32 application uses the .NET runtime . 如果给定的 exe 文件是 .net exe
我刚刚安装了 ActivePython 3.6 的 64 位版本,发现它包含三个可执行文件,它们报告相同的版本信息,大小相同,但不完全相同,即peer fc.exe。我有 python.exe pyt
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
有哪些方法可以保护exe文件免遭逆向工程。有很多打包工具可以打包exe文件。这种方法在http://c-madeeasy.blogspot.com/2011/07/protecting-your-c-
仅当应用“X”(Inspect.exe | Narrator.exe | Magnify.exe)正在运行时,我才能在 Windows 应用程序中获取一些 IUIAutomationElements。
我正在编写一个创建 Windows 服务的程序。所以我需要两个 .exe 文件——一个用于程序,创建服务,另一个用于服务本身。但是我想将这两个文件合二为一。我有以下想法 - 打开 .exe 文件,我想
我有一个 UWP 应用,我需要从 users %appdata% 文件夹中启动一个 .Exe 文件。 我不知道如何找到 %appdata% 或如何启动 Exe 文件。 我已经查看了所有解决方案,但没有
我最近安装了 Visual Studio 2017,MSBuild.exe 不是应该自带的吗? bash 脚本之一正在调用它,但找不到任何东西。 这是 build.bat 产生错误的部分(您可以看到整
我正在我自己的代码中尝试来自 Mad-collections(用于在 exe 中添加/删除或更新资源的单元)中 Madres 单元的不同功能。这适用于小型资源(小于 50 MB),但对于较大的资源(大
什么是PreEmptive Protection Dotfuscator exe文件的Map.Xml和Dotfuscator1.Xml文件。我应该出于某种原因保留它们,还是项目 exe 文件组装需要它
我最近接手了一个项目,我不确定最后一个人是如何调试这个的......我有两个可执行文件,一个最终运行另一个。我将它们称为 exe1 和 exe2。这些是用 C# 创建的,我使用 Visual Stud
如何从 REBOL 脚本创建 Windows 可执行文件 (.exe)?有任何说明或视频吗? 最佳答案 使用 Rebol 2 最简单的方法是使用 SDK - 尽管这需要花钱购买许可证。该方法称为封装。
我正在尝试打开下载的 .exe 文件,但它在打开后立即关闭。有什么可能的方法可以让我打开它更长的时间来阅读内容。 最佳答案 它可能是一个控制台应用程序而不是一个 GUI 应用程序。使用命令提示符运行
我想运行一个位于以下目录中的应用程序: C:\LCR 12\stu.exe 使用 AutoIt,运行上述 stu.exe 文件的代码是什么? 最佳答案 像这样: Run("C:\LCR 12\stu.
我是一名优秀的程序员,十分优秀!