代码之家  ›  专栏  ›  技术社区  ›  paxdiablo

有谁能提供一个好的“白痴指南”来在VS2008(C#)Pro中创建安装程序吗?

  •  10
  • paxdiablo  · 技术社区  · 14 年前

    我有Visual C#2008 Professional,已经开发了C#应用程序(控制台模式)的前半部分,现在正在开发下半部分(GUI)。

    我正在寻找一个简单的方法来创建一个安装程序。生产专业安装程序需要采取哪些步骤?

    here 关于速成版,但我有专业,我想尽可能坚持只与标准VS的东西(如果你认为你可以说服我,第三方安装程序的创造者是) 许多的

    请记住,我对升级到VS2010还没有兴趣,即使创建一个安装程序要容易上百倍。当收入开始滚滚而来时,这种情况可能会出现:-)

    还要注意,这个应用程序的GUI组件是一个完全独立于控制台部分的可执行文件。控制台部分是一个简单的“openfile1,dosome work on it,writefile2”类型,GUI是一个相当标准的“openfiledosomething”beast,因此不会发生任何棘手的或完全没有文档记录的行为。

    基本上,我正在寻找(至少)以下:

    • 专业外观安装。
    • 应用程序文件将被删除。
    • 更改注册表以允许双击我的文件扩展名以打开以该文件为参数的GUI应用程序。
    • 一切 必需(我的东西,.Net,如果需要,等等)。
    7 回复  |  直到 8 年前
        1
  •  9
  •   AndyPerfect    14 年前

    Inno Setup

    此外,由于Inno自1997年问世以来 editors have arisen 这有助于简化脚本编写过程。

        2
  •  24
  •   Community CDub    8 年前

    如果说Windows客户机软件有一个严重缺陷的话,那就是应用程序的部署。

    我的经验来自于 NovaMind -尽管这些年来我花了几周时间在安装问题上, 我决不是安装技术专家 我尽量把注意力集中在我们的实际产品上。我们使用了InnoSetup、visualstudio安装项目2008/2010,最后我们切换到WiX+工具方法。

    网页应用 :在浏览器中输入URL以访问web应用。

    雨衣: 将下载的文件(与x64和x86相同)拖到Mac上的应用程序图标。完成。

    我认为如果Windows有一个更好的部署系统,一个合理的市场/应用商店和一个合适的实时更新功能,web应用可能一开始就不会那么流行。当然,这是夸大其词,但我相信,由于没有提供一个合理、可用的部署模型,Windows应用程序生态系统已经受到了很大的破坏,即使是现在,微软似乎也很少关注这个问题。

    现在你如何更新应用程序?

    Web应用程序: 不需要。它是最新的。

    雨衣: 没有内置的魔法,但有一个广泛使用和强大的解决方案称为火花。

    窗户: 你最好自己动手,因为外面没有什么实质性的东西。

    以下是详细情况:

    InnoSetup和其他基于脚本的安装 很简单,但无法生成.msi文件-有些公司需要.msi文件来自动进行网络部署。如果您想获得Windows徽标认证,还需要有基于Windows Installer(.msi)的安装程序。

    Visual Studio安装项目2008/2010 给你的基础很容易,你可以配置一堆东西,但一旦你想做的不可思议的事情,如 use a high quality icon 或者包括 changing set of files

    WiX公司 是在Windows上创建设置的实际方法,甚至连microsoftoffice安装程序都应该是用WiX创建的。WiX并不简单。

    dotNetInstaller bootstrapper project 确保安装了.NET Framework,并将.msi文件和引导程序打包到一个可供下载的.exe文件中。

    有了这些你基本上没事。总有一些奇怪的情况,比如客户没有安装Windows安装程序(因此无法运行嵌入的.msi文件),或者.netframework安装失败。

    • 本地化我们的安装程序!
    • 目前我们只为x64和x86提供一个下载,因为我们不想让用户考虑x64和x86。
    • 有一个很好的设置界面,也与高DPI设置工作。我想这可能只是MSI安装程序中不支持的东西。

    有一种叫做 SharpSetup 这似乎解决了其中的一些问题,允许您编写基于WiFramework的UI,但是SharpSetup不带有引导程序,并且需要.NETFramework,但是您可以编写自己的C++代码来在这种情况下作出反应。

    对于实时更新,我们推出了自己的解决方案,经过许多问题,它是正常工作。

    你可能也想听听 Scott Hanselman’s podcast episode with Rick Brewster

    如果你绝对需要使用.msi,那么我会向任何想在Windows上创建安装程序的人推荐WiX,但最后我对Windows上的部署情况感到非常失望。这些年来,我浪费了好几个星期的时间在愚蠢的设置问题上。有了设置,你只能输。你不会赢得任何满意的客户,因为你的设置工作,但你会失去和挫败他们很多如果它不。

        3
  •  5
  •   greenoldman    14 年前

    我使用高级安装程序,它是死简单,我使用它,因为VS的限制。

    http://www.advancedinstaller.com/

    “缺点”是,对于完全自动安装依赖项,您必须付费;-)

        4
  •  1
  •   Tomasz Grobelny    14 年前

    如果您想完全在visualstudio中创建安装程序,但不介意使用外部工具来帮助您完成这项工作,那么请看一下我的一个名为 SharpSetup . 它允许您使用C/WinForms构建GUI,而后端是基于WiX的(这反过来意味着使用WIndows安装程序)。

        5
  •  0
  •   Matthew King    14 年前

    VisualStudio2008具有内置的安装程序支持。

    将新项目添加到解决方案中,然后从“其他项目类型”>“设置和部署”类别中选择“设置项目”选项。

    看一看 Windows Installer Deployment overview ,和 a step-by-step walkthrough

        6
  •  0
  •   WanderingThoughts    14 年前

    NSIS 有足够的文档可以复制粘贴他们的示例安装程序,并用自己的文件位置替换他们的文件位置。

        7
  •  -1
  •   Ryan Cromwell    14 年前

    我没有看到有人提到我见过客户成功使用的这些产品。

    http://www.installaware.com/ http://www.flexerasoftware.com/products/installshield.htm http://www.wise.com/Products/Installations/WiseInstallationStudio.aspx