使用Visual Studio 2017安装项目为C#Windows窗体创建Exe / MSI

时间:2018-06-20 17:57:34

标签: c# visual-studio installation setup-project visual-studio-setup-proje

我正在尝试为我的解决方案创建exe / msi

它包含以下项目

Projects List

  1. ActiveDirectoryEngine:用于实现AD操作的库
  2. ADService:Windows服务-在后台执行工作
  3. CryptographyEngine:用于加密/解密数据的库
  4. TerranovaActiveDirectoryHost:Dashboars / win表单,用于管理/检查服务状态
  5. SyncToolSetup:安装项目“仅针对TerranovaActiveDirectoryHost”

这是Setup项目的内容:

Application Folder

User's Desktop Folder

User's Program Folder

我仅使用一个Windows窗体应用程序就不同的解决方案尝试了相同的步骤,并且运行良好,但是当我有多个引用的项目时,它似乎不起作用。

未启用安装和卸载选项

after build

更新:

Win窗体项目中引用了以前的所有项目,所以在创建exe / msi时我是否要针对正确的项目?

references

1 个答案:

答案 0 :(得分:0)

唯一带有Install选项的项目是安装项目。解决方案中的其他项目没有安装选项,只是因为有一个安装项目作为解决方案的一部分。

在非安装项目(例如C#构建)中的引用不会自动包含在安装项目中。用于构建代码的引用不一定需要在目标系统上安装。该安装程序将尝试帮助解决依赖关系,但这是不可靠的,仅是一个指南。例如,您的“应用程序文件夹”视图包含一些.NET Framework的文件,由于它们是作为标准.NET Framework安装的一部分安装的,因此您绝对不要安装它们。

必须告知安装项目需要在目标系统上安装的内容。通常有两种方法可以做到这一点:

  1. 选择项目输出作为设置项目的输入。这可能是不确定的,因为并不总是清楚地包括了哪些文件,或者如果文件需要安装到不同的位置该怎么办。

  2. 一次添加所需的文件,方法是将它们添加到需要安装的目录的“文件系统”视图中。通常,可执行文件进入“应用程序文件夹”(默认为“程序文件..”),数据文件进入“用户的应用程序数据”,共享文件进入“通用文件”文件夹,某些程序集进入GAC,依此类推。