简体   繁体   English

你如何制作一个非常好的安装程序,如Visual Studio?

[英]How do you make a really nice installer like Visual Studio's?

What are installers like the installer for Visual Studio made in? 什么是安装程序,如Visual Studio的安装程序? How do they make such a nice installation experience? 他们如何做出如此好的安装体验? I know InstallShield can emulate this, but does Visual Studio use InstallShield, or did InstallShield copy it? 我知道InstallShield可以模拟这个,但Visual Studio是否使用InstallShield,还是InstallShield复制它?

The setup for Microsoft Office 2007 (and probably 2010) was built on top of WiX ( source ). Microsoft Office 2007(可能还有2010年)的设置是基于WiX源代码 )构建的。 Note that this does not mean you can emulate the Office 2007 setup yourself using purely WiX. 请注意,这并不意味着您可以使用 WiX 自行模拟Office 2007设置。

Aside from what you actually see - Microsoft Office, Visual Studio or any almost any other application designed for Enterprise deployment relies on Windows Installer technology. 除了您实际看到的内容之外 - Microsoft Office,Visual Studio或任何为企业部署而设计的任何其他应用程序都依赖于Windows Installer技术。 You can use Installshield , WiX or a variety of other software products to achieve the same end result. 您可以使用InstallshieldWiX或各种其他软件产品来实现相同的最终结果。

HOWEVER note that Office, Visual Studio, and a whole bunch of other installations use Windows Installer (MSI) without using the Windows Installer UI (UX). 但是请注意,Office,Visual Studio和许多其他安装使用Windows Installer(MSI) 而不使用Windows Installer UI (UX)。 One of the awesome things about Windows Installer is that you can build your own external UI handler to make the "visible" things appear how you want, while leveraging Windows Installer and MSI behind the scenes (Office installs and configures lots of MSI packages while appearing as a single setup process to the user). 关于Windows Installer的一个令人敬畏的事情是,您可以构建自己的外部UI处理程序 ,使“可见”事物以您想要的方式显示,同时在幕后利用Windows Installer和MSI(Office安装和配置大量MSI包时出现作为用户的单个设置过程)。

Generally you would develop your setup UX in native code ideally with minimal dependencies (eg no managed languages and depend on older libraries if possible. Users might not have VS2005/2008 dependencies when running setup for the first time so target RTM not SP1). 通常,您将在本机代码中以最小的依赖关系开发设置UX(例如,没有托管语言,并且如果可能,则依赖于较旧的库。用户在第一次运行安装时可能没有VS2005 / 2008依赖关系,因此目标RTM不是SP1)。 Unfortunately it's not a simple wizard or a library you can depend on, this is effectively developing a small stand-alone application from scratch in a language you may or may not be familiar with (Native code developers are becoming harder and harder to find, managed code is more commonly creeping into setup because it's "easier"). 不幸的是,它不是一个简单的向导或你可以依赖的库,这是从头开始用你可能或可能不熟悉的语言开发一个小的独立应用程序(本地代码开发人员变得越来越难以找到,管理代码更常见于设置,因为它“更容易”)。

tl;dr - Doing the non-UI portion is a solved problem, use Windows Installer technology (eg WiX). tl; dr - 执行非UI部分是一个已解决的问题,使用Windows Installer技术(例如WiX)。 The user interface will require custom development, probably in native C++ code. 用户界面将需要自定义开发,可能需要本机C ++代码。

I believe VS uses WiX. 相信 VS使用WiX。 Not sure, though. 不过不确定。 There is a movement within Microsoft to standardize on WiX (eg, it's used for the complex Office installers), but I'm not 100% sure if VS has been converted over yet. 微软内部有一个标准化WiX的运动(例如,它用于复杂的Office安装程序),但我不能100%确定VS是否已被转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 WinForms:如何在窗体上创建可折叠的UI区域,如Visual Studio的工具箱? - WinForms: How do I make a collapsible UI region on the form, like Visual Studio's toolbox? 你如何构建像UI这样的Visual Studio? - How do you build a Visual Studio like UI? 如何使用 Visual Studio 安装程序项目安装 .NET 6 Windows 服务(Worker Service)? - How do you install a .NET 6 Windows Service (Worker Service) using a Visual Studio Installer project? 如何从Visual Studio 2008中制作Windows Service安装程序? - How do I make a windows service installer from visual studio 2008? 如何在Visual Studio中制作具有多个可执行文件的安装程序包 - How to make installer package with multiple executables in Visual Studio 使用Visual Studio创建安装程序-如何控制文件结构? - Creating an installer with Visual Studio - How do I control the file structure? 如何使用 Visual Studio 安装程序项目扩展创建升级安装程序 - How to create an Upgrade installer with the Visual Studio Installer Projects extension 如何使用免费版Visual Studio在Windows Installer安装程序中更改VB .net应用程序的设置? - How to alter a VB .net application's settings as part of a Windows Installer setup using free edition Visual Studio? 如何使Visual Studio中的文本编辑器看起来像这样? - How to make text editor in Visual Studio looks like this? 如何在Visual Studio中为.exe提供ico图像? - How do you give an .exe an ico image in Visual Studio?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM