WPF 打包

打包为单个exe文件直接运行

- - - 版本
.NET 8
  • 新建WPF项目

  • 右键 - 发布

  • 选择发布文件夹

  • 选择发布文件夹

  • 选择发布文件夹

  • 配置

  • 配置,保存

  • 发布

WPF 打包为exe安装程序

示例

  • 实现思路

    • 引导项目中嵌入其它项目可运行目录的zip
    • 引导项目中解压zip文件到指定文件夹
    • 是否创建快捷方式
  • 将 WPF 项目的 Debug 文件夹打包为zip

  • 按照上述 新建一个安装引导项目, 打包为单个exe文件直接运行

    • 引入 Debug.zip 文件
      • 右键该文件
    • 安装引导自定义 (例)
      • 用户是否同意
      • 安装目录
      • 是否创建快捷方式
  • 解压方法

csharp 复制代码
/// <summary>
/// 解压方法
/// </summary>
/// <param name="zipFilePath">zip文件目录  D:\\123.zip</param>
/// <param name="destinationFolder">解压目录  D:\\123</param>
public static void UnzipFile(string zipFilePath, string destinationFolder)
{
    Directory.CreateDirectory(destinationFolder);
    using (var zipToOpen = new FileStream(zipFilePath, FileMode.Open))
    {
        using (var archive = new ZipArchive(zipToOpen, ZipArchiveMode.Read))
        {
            foreach (var entry in archive.Entries)
            {
                if (entry.Length == 0) continue;
                var destFileName = Path.Combine(destinationFolder, entry.FullName);
                var destinationDirectory = Path.GetDirectoryName(destFileName);
                Directory.CreateDirectory(destinationDirectory);
                using (var entryStream = entry.Open())
                using (var fileStream = new FileStream(destFileName, FileMode.Create))
                {
                    entryStream.CopyTo(fileStream);
                }
            }
        }
    }
} 
  • 创建快捷方式

csharp 复制代码
string exePath = @"C:\路径\xxxx.exe";
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string shortcutPath = Path.Combine(desktopPath, "xxxx.lnk");
WshShell shell = new WshShell();
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutPath);
shortcut.Description = "描述";
shortcut.TargetPath = exePath; 
shortcut.WorkingDirectory = Path.GetDirectoryName(exePath);
shortcut.Save();
相关推荐
迪飞特科技13 小时前
分布式事务下 Spring 声明式事务失效的 3 种修复方案
分布式·spring·wpf
2601_962174173 天前
Redis 简介
数据库·redis·wpf
SamChan904 天前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
SamChan905 天前
Python+OpenCV检测PDF翻译后排版偏移:像素级格式一致性验证
python·opencv·ai·pdf·wpf
FuckPatience5 天前
WPF 拿到控件的最初样式,修改获得焦点样式
wpf
主宰者5 天前
【WPF】MainWindow前添加加载窗口,发现加载过程中有白色无内容窗口闪烁一下的解决方案
wpf
Vae_Mars6 天前
WPF中的ControlTemplate(控件模板)
wpf
SamChan906 天前
Python+ReportLab自动生成PDF翻译质量审计报告:从数据到可视化的完整方案
开发语言·python·ai·pdf·wpf
circuitsosk6 天前
多智能体协同在能源数据分析中的实践:分配-执行-校验闭环架构设计
python·数据分析·wpf·能源·并行计算·多智能体系统·agent协作
weixin199701080166 天前
《大促护航:电商API限流与降级,双11峰值500万调用的架构复盘》(附Python源码)
python·架构·wpf