-
Notifications
You must be signed in to change notification settings - Fork 565
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
Renew and Modernize WeaselSetup #1472
base: master
Are you sure you want to change the base?
Conversation
不懂,ARM相关的找下之前pr的大神看方便不方便帮测试下 |
|
.NET Framework AnyCPU 程序只要在项目设置里允许ARM64就可以在Windows 11上原生运行,现在VS有个一键开关: 我记得之前WeaselSetup依赖了RIME的库,如果没打算编译ARM64的RIME的话保持WeaselSetup x86(32位或64位)是最好的。 Win10只支持32位x86的.NET。 |
这个一键开关我已经打开了,那应该没问题。新版的 setup 程序没有向外依赖了,只额外通过 NuGet 安装了一个 TSF 绑定库用于注册或注销输入法服务(其也是 AnyCPU 的)。我本机是 Windows 10 22H2(x86_64),已测试没问题。 |
这个pr等其他组件一并考虑,待观察,先让ci跑了 |
9759eb9
to
2ef7dea
Compare
那提交历史得多长呀,肯定分步来吧 🌚 |
5a888d9
to
8d8f53c
Compare
长是必然的 另外提交多了某种程度就是理由1,2的反面了 |
我的意思是一个 PR 只干一个子组件的事情,不然审阅也是个麻烦呀 …… 总之一个 PR 就把整个软件翻新是不合理的,除非只有一个子组件。 |
我的意思不是一个pr,是n个互不冲突的pr。 语言这换种的事情,天然注定不可能轻易做的。 |
具体这个 PR 来说比较容易(小声:隔壁 rabbit 甚至还是 ahk 写的呢) …… 还是等 @lotem 有空来把关吧。 |
必然是全组件可c#写,而且确认没有问题才能换的,毕竟现在又不是不能用 删除ime这个目前我保留意见 |
9910e33
to
39d541e
Compare
{ | ||
var sysarm32Dir = Path.Combine( | ||
Environment.GetFolderPath(Environment.SpecialFolder.Windows), | ||
"SysArm32" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
老设备更新24H2之后SysARM32目录依然是存在的,不过是空的
你可以考虑用IsWow64GuestMachineSupported API(就是这个API要1709,需要考虑API不存在的情况),也可以考虑判断sysarm32\regsvr32.exe是否存在(反正待会儿就要用)
Basically implements functions that without GUI.
- Rename InstallOptionDialog to SetupOptionDialog
cb0befc
to
bf18c82
Compare
@driver1998 我在你的博客上看到了相关文章:
这么看来 .NET Framework 可能还不太适合干这个工作? |
Windows 10 和老版本的 11 确实没有好的办法原生运行 (使用AnyCPU的话),但原来 C++ 的 WeaselSetup 也是模拟运行的,所以没差 |
理由:
几点差异:
目前无法强制开启 HiDPI 支持。需要在同目录的(已解决)Weasel.Setup.config
里进行配置。但正式发行时这个文件一般不携带。TSF.TypeLib.dll
,这是 C# 下的 TSF 绑定库。由于 xmake 目前不支持 C#,如果构建方式选择 xmake,需要单独进行编译。(已解决)Reasons:
Diffirences:
Currently it cannot force enable HiDPI support. It requires to set in(Solved)Weasel.Setup.config
in the same directory, while the latter will not be included in common release.TSF.TypeLib.dll
will appear in the output.People need to build it separately in xmake way since xmake doesn't support C# yet.(Solved)