我正在使用 InstallShield 2010 Express 安装 .NET WinForms 应用程序。最新的 InstallShield 项目是一次重大升级,因此我使用了升级路径部分来允许从我的应用程序的早期版本进行升级。
问题是在安装最新升级时,初始安装期间所做的配置设置(写入 Program Files\MyCompany\MyApp\myapp.exe.config)被覆盖。这意味着用户必须再次进行所有配置设置 - 不好。
在 InstallShield 项目中,myapp.exe.config 设置为使用Windows Installer 版本控制规则。我什至尝试将 myapp.exe.config 的创建/修改日期设置得很旧(1/1/1999),这样它就不会覆盖目标系统上的文件。
除此之外,安装程序工作正常。如何防止此文件被覆盖?
我正在尝试使用Process.Start在默认浏览器中启动本地html文件.
示例网址如下:
"file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm"
Run Code Online (Sandbox Code Playgroud)
问题是,"#SectionA/Topic1.htm"位由于某种原因被剥离,因此该信息不会传递给浏览器.但它确实适用于非本地URL.
有谁知道如何让这个工作或是某种预防性的安全问题?
谢谢
我需要使用RegEx.Replace来替换输入字符串中的某些命名组.
所以我可能会有这样的模式:
"^(?<NoReplace>.+)(?<FirstPeriod>(\d{2})|CM|RM|PM|CN|RN){1}(?<LastPeriod>(\d{2})|CM|RM|PM|CN|RN){1}((#(?<NumberFormat>[#,\.\+\-%0]+))*)$"
Run Code Online (Sandbox Code Playgroud)
使用带有MatchEvaluator的Regex.Replace替换CM,RM等标记.但是,这应该只替换FirstPeriod和LastPeriod组中的字符.
输入示例:
"FIELDCNS 01CM"
期望的输出:
"FIELDCNS 0104"
输出不正确:
"FIELD**04**S 0104"
这是可能的还是我最好只是拔出我想要更换和重新组装的部件?