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
808 views
in Technique[技术] by (71.8m points)

wpf - How to generate msi/exe installer file in visual studio 2017 for a project of over 24 GB files?

I have a WPF project which has a resource (videos) with over 24 GB, I have set the configuration to Copy if newer in Visual Studio 2017. I want to generate installer files that will include all my resources (videos) that are inside the debug/bin folder. I have tried Microsoft Visual Studio installer extension but that generates only 700Kb of exe file.

Please suggest.

See Question&Answers more detail:os

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

1 Reply

0 votes
by (71.8m points)

Online?: In all honestly, I would check if it is possible to put videos like that online (even Youtube?) instead of bundling them inside a setup - especially if you might ever want to update them. This will require a server and bandwidth (unless you Youtube it), but it will also allow smaller setup size which is very desirable (build turnaround time and overall messiness of dealing with large files) and also much better maintainability over time for the content (you can update the videos for all users instantly - and you can even take videos down that you suddenly don't want distributed anymore, or you can replace the videos with lower or higher resolution versions as you see fit). Further you can track what videos people actually view, and you can gather feedback from the users if you provide a means to do so. I am not sure of the copyright and legal issues involved, but if these are your videos you should be fine. How about using YouTube for low-res versions? And then a separate gigabyte-size setup for high-res versions? You could include some very low-res versions of the videos in your setup if the online versions are at risk of disappearing and you want no local full-size installation.

Large Files Concerns: It is also important to point out that you can't store a file that big on FAT32 partitions and other file systems might have problems as well. Large files are painful. There may be caching features in deployment tools now that I have not used - I am pretty sure WiX has this, and I think the other tools do as well. Maybe Bogdan or Urman can comment?

Deployment Tools: I have an ad-hoc summary of different deployment tools here. WiX is free and open source, most of the other tools are commercial and very good for most deployment tasks.

VS Installer Project Limitations: Visual Studio Installer Projects have many limitations, here is a summary of some of these limitations.

External Source Files: MSI supports external source files. All deployment tools - including the free WiX - should be able to support this, but I am not sure that Visual Studio Installer Projects supports it. Using this approach you can rebuild test and QA setups quickly without compressing the whole video folder for every build - vanquishing the lunacy of large builds. Woho! This drastically improves turnaround time. For the final release you can compress everything - if need be.

I have never used this much, but in WiX it would be something like:

<Media Id="1"  />

<..>

<Component Feature="MainApplication">
   <File Source="TestLicenseAgreement.rtf" Compressed="no" />
</Component>

I am not sure if you can have the file remain where it is, or if it is copied to the build output folder at all times.

Need-For-Speed: Some further options here (availability differs between tools): Speed up Build-Process of WiX-Installer (shimming files, light compression, release flags, compiler options, splitting large setups into prerequisite setups, etc...).


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

...