Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
358 views
in Technique[技术] by (71.8m points)

.net - How do you make a really nice installer like Visual Studio's?

What are installers like the installer for Visual Studio made in? 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The setup for Microsoft Office 2007 (and probably 2010) was built on top of WiX (source). Note that this does not mean you can emulate the Office 2007 setup yourself using purely WiX.

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. You can use Installshield, WiX or a variety of other software products to achieve the same end result.

HOWEVER note that Office, Visual Studio, and a whole bunch of other installations use Windows Installer (MSI) without using the 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).

Generally you would develop your setup UX in native code ideally with minimal dependencies (e.g. 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). 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 (e.g. WiX). The user interface will require custom development, probably in native C++ code.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...