- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我们的应用程序创建一个 Wix 安装程序。 Wix 项目收获不起作用,因为它只将主 exe 文件复制到安装目录,不会复制所有 dll 等。
所以我想有一个预构建事件来构建应用程序并使用 Wix 的输出。
问题是输出将包含 .pdb、vchost.exe 等文件。我可以配置构建以使其仅输出所需的文件吗?
编辑:最终解决方案可以在这里找到
https://github.com/AndersMalmgren/FreePIE/blob/master/BuildTools
从查看开始
https://github.com/AndersMalmgren/FreePIE/blob/master/BuildTools/build_installer.bat
最佳答案
当我为我的项目创建任何类型的安装程序/zip 文件/任何内容时,我从来没有在 Visual Studio 的“标准”构建中这样做,即在 .csproj
中文件。
(我知道这就是您尝试放置预构建事件的地方 - 对吗?)
原因是我不想在我编程时在每次构建时重建安装程序/zip。
我经常做的:
我创建了一个 MSBuild project file我可以从资源管理器(通常通过批处理文件)手动执行,它编译 Visual Studio 解决方案,然后创建 zip 文件、安装程序、NuGet 包或我需要的任何东西。
因此,创 build 置完全在 Visual Studio 解决方案之外,但我可以从源代码管理中提取最新更改,然后构建所有内容并单击一下即可创 build 置。
( Joel Test ,第二个问题:“你能一步完成构建吗?”)
当我不需要 Visual Studio 放入输出文件夹的所有内容时,我只需先将我需要的文件复制到其他文件夹。
这是我的一个项目的示例:
\bin\Release
的内容文件夹(但不包括 *.pdb
和 *.xml
文件)和一些从根文件夹到单独的“发布”目录的文件: <!-- copy files to release folder -->
<Target Name="CopyRelease">
<MakeDir Directories="$(ReleaseDir)"/>
<ItemGroup>
<ReleaseFiles
Include="$(OutDir)\**\*.*;
README.md;
License.rtf"
Exclude="$(OutDir)\*.pdb;
$(OutDir)\*.xml">
</ReleaseFiles>
</ItemGroup>
<Copy SourceFiles="@(ReleaseFiles)" DestinationFiles="@(ReleaseFiles -> '$(ReleaseDir)\%(RecursiveDir)%(Filename)%(Extension)')"/>
</Target>
rem path to msbuild.exe
path=%path%;%windir%\Microsoft.net\Framework\v4.0.30319
rem go to current folder
cd %~dp0
msbuild build.proj
.sln
所在的文件夹中文件是: set PATH=%PATH%;%WINDIR%\Microsoft.Net\Framework64\v4.0.30319
rem go to current folder
cd %~dp0
msbuild YourSolution.sln /p:Configuration=Release
PreBuildEvent target
--> 你是否已经在你的 .csproj
的预构建事件中加入了一些东西? ?也许那行不通。.csproj
, 我有一个
pre-build event将程序集版本号设置为环境变量中的值(如果存在),否则设置为
0.0
.
Last step, get the entire output into Wix, you link each file, thats not practicle in mu project. its several sub folders, and thousand of files. Any good idea on how to link the entire output folder in wix?
Typing all those hundreds or thousands of components into the WiXsource file presents another challenge, of course. The toolset has asmall utility that can help with this (more about it later) but thereal solution is a conceptual change. Stop considering the setupprogram as a separate application that has to be written in a rushwhen the main application is already finished. As the WiX source filesand the toolset itself can be integrated into your developmentenvironment easily, you should keep them in sync all the time. As soonas you start working on a new module or add a new registry referenceto your program, modify the corresponding WiX source file at the sametime. This way, the setup will be finished together with theapplication itself and there will be no need to extract all the fileand other pieces of information required for the installation later.As the WiX project can be modularized (more about this later), thisapproach works just as well if you have a large team working on theapplication rather than a single developer.
Heat
的页面工具,这似乎是您之前提到的“收获”工具,并且已经尝试过但没有成功。
关于.net - 为 Wix 安装程序构建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14791559/
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!