首页 > 其他分享 >VSTO详细打包安装过程

VSTO详细打包安装过程

时间:2023-10-11 09:46:45浏览次数:39  
标签:混淆 一步 安装包 生成 VSTO 安装 打包

我们开发完成一个插件之后,当然是打包发布给其他人安装使用。

打包的作用是安装必要的运行环境和减少安装的难度。VSTO自带有个发布安装的功能,位置如下图:

该功能生成的安装包有自动检查所需要的.Net框架和VSTO组件并下载和安装。但其最后安装的位置我们不能自己定义,会自动把插件安装到用户的AppData目录里面。

so~ 还是考虑其他方案。另外鉴于C#开发的东西基本是公开源码的,需要对生成的dll文件进行一定混淆加密处理。整理了一套流程。如下图:

所需要的软件可以到这里下载:http://pan.baidu.com/s/1i4OuVZn

下面开始详细讲解打包过程,图片有点多。

1、用Release方式生成项目

C#生成项目程序有两种方式:Debug和Release。Release方式体积更小、运行更快。

按照上图修改方式之后,再右键项目,生成:

生成完毕之后,可以在项目目录中的,bin/Release中看到项目文件。我的项目文件如下,这些都是需要打包的。

2、DLL代码混淆

很多人不愿意用VSTO做插件,除了入门麻烦(需要学习C#和Office相关的东西)之外,还有就是生成的项目文件基本是源码。稍微反编译一下,就能被看得清清楚楚。

这里有两个dll文件,其中Microsoft.Office.Tools.Common.v4.0.Utilities.dll不需要处理。只需对我们自己代码的dll文件处理即可。包含我的代码那个文件是DTPT.dll。

混淆工具:Eziriz .NET Reactor。界面如下:

混淆之前,记得备份一下生成的dll。我一般混淆采用如下设置:

再点击左边的protect生成即可。

没什么问题,点击Browse Folder按钮,打开混淆生成的文件,复制替换项目文件。测试一下所有功能是否能够正常使用
因为有时候,代码混淆会导致某些代码执行不了。

勾选的混淆选项越多越容易导致混淆之后的文件不能使用。但勾选越少越容易被反编译,真矛盾。我多次测试,发现勾选这3个是比较保险的。有时不行,去掉Obfuscation。

若混淆后,有功能可能不能使用。则需要斟酌去掉某些混淆选项,再重新生成测试,直到混淆文件可以完全使用。

3、创建打包项目

打包工具:Advanced Installer

新建一个打包工程,选择如下:

New --> Add-Ins --> Office Add-In --> CreateProject

输入你插件的名称和组织(公司或网站),下一步。

这一步是要打包成什么程序,这个打包工具建议用msi格式,下一步。

设置打包这个工程保存的位置,以及打包发布的位置,下一步。

由于我们使用VSTO开发的,当然选择第1个。再继续。

选择你VSTO项目的解决方案sln文件。再下一步,将会自动读取项目的内容。

选择使用Release生成的项目文件,再下一步。

默认勾选即可。若你还有什么文件是必备的没有被勾选,自行勾选即可,再继续下一步。

这一步很重要,尽管我开发用vs2013,我还是选择都2010。2010兼容性比较好,可以兼容2007、2010、2013、2016等版本。后面还会根据这个找到所需的环境。设置完成之后,下一步。

如上图设置,这些都是一些基本设置。填上自己项目相关信息即可,继续下一步。

这一步也会是比较重要,选择.net版本。若不知道你VSTO使用哪个.net版本,可以带VSTO项目,在“项目”-->“属性”-->“应用程序”中可以看到。

另外,最后一个不要勾选,后面有相关设置。

下一步,步骤还有不少。

先勾选,添加.net框架。若你也是使用4.0版本的,注意不要选择4.0 Client Profile,一定要选择4.0完整版本。

这里会自动添加下载地址。当然,你也可以改成你服务器的下载地址。

另外,这里建议勾上静默安装这些环境运行包。先别点下一步,这一页还没设置完成。

勾选VSTO Runtime,这次默认配置即可。必备环境这两个即可,可以下一步了。

这个步骤是选择安装程序的语言,根据自己需求选择即可,下一步。

这个是填写服务条款,就是不同意不给安装。自行根据需要填写即可,下一步。

点“完成”,构建打包项目。

相关设置都可以在这里找到,英语盲的话,自己查字典。下面再说一些我个人认为要注意的地方。

4、完善打包工程

一般我都会修改这个版本号,和去掉Comments的描述。

看看Install Parameters,这里需要注意两个地方。修改默认安装路径和勾上Run as administrator(用管理员身份运行)。

默认安装路径我都是[ProgramFilesFolder]DTPT,其中[ProgramFilesFolder]是指C判断的Program Files文件夹,DTPT是我的项目名称。

打开Digital Signature,你是用中文版的,不知道这个是哪个?对照图标和位置打开即可。

去掉Time stamp URL。

这一步很重要,打开Prerequisites。找到VSTO Runtime 4.0勾选(会弹窗提醒是否下载,点“否”),这个在Web Server分组上面。

再将其拖动到Pre-install中,这个是指安装时就检查并处理。如下图:

再选择这个VSTO Runtime,打开Setup Files选卡,设置下面3个。

这个是为了设置静默安装,不过这里测试达不到预想的效果。这些参数是参考.net设置,可能这里参数不对,若知道的话欢迎留言交流。

打开Registry,这个是写注册信息。其中[Manufacturer]项是无用的,删掉。这里你也可以添加一些你所需的注册信息。

最后,打开Media,此处是设置安装包输出的。这里我之前原本想只生成一个exe程序。但发现一个exe程序有问题,还是生成一个msi和exe程序,改一下默认命名。

5、发布生成安装包

找到这个菜单中的Run,点击生成安装包。

我生成的安装包如下:

可以在前面设置的打包发布位置找到。其中package.msi和setup.exe是安装包,setup.exe是入口程序。

这里我会多一个en文件夹。因为我选择了两种语言,外面这个是中文安装包,里面这个是英文安装包。

标签:混淆,一步,安装包,生成,VSTO,安装,打包
From: https://www.cnblogs.com/guangzhiruijie/p/17756286.html

相关文章

  • VSTO自动更新部署方案
    dll部署ClickOnce部署很方便,但是没有版本倒退的功能。在实际的项目中,插件版本往往和数据版本有关联的,切换到指定的svn或git版本,希望也能有对应版本的插件功能。以svn版本控制为例,说明怎么使用dll部署。插件本体项目仍然采用ClickOnce部署的方式,不过可以不填远程Url,因为不存在插......
  • 安装卸载JDK
    安装JDK百度搜索JDK8,找到下载地址安装后记住安装路径配置环境变量我的电脑-属性,高级系统设置,环境变量在系统变量里添加环境变量JAVA_HOME点击新建变量名JAVA_HOME变量值就是刚刚安装java的路径配置path变量,双击打开新建%JAVA_HOME%\bin新建%JAVA_HOME%\jre\bin......
  • PS软件下载电脑版 ps全版本安装包下载大全
    photoshop2019修改版介绍2013年7月,adobe公司推出新版本photoshop——photoshopcc(creativecloud)。在photoshopcs6功能的基础上,photoshopcc新增相机防抖动功能、cameraraw功能改进、图像提升采样、属性面板改进、behance集成等功能,以及creativecloud,即云功能。继2012年adobe推出......
  • MySQL5.7 windows安装
    安装Mysql前:​ 1、如果:你(曾经安装过),需要(先卸载干净),否则是(装不上)的。所以先谈(卸载)​2、如果:你没有(安装过),这是(第一次安装),请直接看(第2部分)Mysql安装教程。1、Mysql彻底卸载分为三个步骤: 1、卸载Mysql(软件) 2、删除Mysql(残留文件) 3、删除mysql(注册表) 4、重启电......
  • 前台首页、导出项目依赖、git介绍和安装、git,github,gitab,gitee介绍、git工作流程、git
    前台首页Header.vur<template><divclass="header"><divclass="slogan"><p>老男孩IT教育|帮助有志向的年轻人通过努力学习获得体面的工作和生活</p></div><divclass="nav"><ulclass="......
  • maven打包日志乱码解决
     打包报错同时乱码看不懂怎么办 idea配置-DarchetypeCatalog=internal-Dfile.encoding=GBK,第一个意思时使用本地maven仓库依赖加快打包第二个意思是使用GBK编码 ......
  • 好用的spack(为程序安装依赖的库)
    spackload**=moduleload**manspack##manuelspackfind##已安装的库spacklist##列出所有的库spackinstall##安装某库spackuninstall##卸载某库[email protected]%[email protected]##固定版本号的库......
  • Git的安装与使用
    Git的安装与使用Git是一个免费开源的分布式版本控制系统,系统设计的目的是快速和高效地处理从小型到大型项目的所有内容下载官方下载网址:https://git-scm.com/downloads阿里云镜像站下载网址:https://registry.npmmirror.com/binary.html?path=git-for-windows/Standalone......
  • harbor安装
    1下载离线包wgethttps://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz2、解压安装即可tar-xvfharbor-offline-installer-v2.5.0.tgzcpharbor.yml.tmplharbor.yml #复制一份配置vimharbor.yml......
  • Linux学习记录(六):系统安装与配置
    一、系统安装安装Linux系统(Ubuntu16.04/18.04LTS)LTSmeansLong-termsupport虚拟机安装:VMWare+ISO系统镜像文件WSL(WindowsSubsystemforLinux)二、系统配置可选项:更换软件源安装依赖项安装gcc和cmakeforcpp安装依赖项forCV三、SSH使用场景:本地VSCode......