我们来讨论以下主题.目前正在部署的应用程序有很好的知道xcopy方法.这种方法很难管理依赖项,文件更新等.有一些软件包的帮助下启动应用程序部署的想法,你知道你在Linux的帮助下RPM,但适用于Windows.
所以我有疑问:在Windows经典Windows安装程序(msi)或nuget或其他东西上使用什么包系统更好?
我目前正在为我的软件创建安装程序。我决定使用 WIX,因为我在 stackoverflow 上读到,虽然它有一个陡峭的学习曲线,但它是创建 .msi 安装程序的最通用的工具。
我正在尝试创建一个非常简单的单屏安装程序,到目前为止我对结果很满意,但有些控件看起来确实过时了。
凹陷的文本编辑与 Windows 10 的外观和感觉并不真正匹配。不过,更让我烦恼的是文件浏览对话框。
我知道我可以更改徽标,但是图标和所有内容看起来就像来自 Windows 98。由于 WIX 似乎是创建 Windows 安装程序的广泛采用的选项,我认为必须有一个解决方案来创建更现代的外观和感觉,但我找不到任何东西。
我必须忍受过时的外观吗?如果是这样,您是否有更好的替代方法来创建 Windows 安装程序(不需要 .msi)?
我相信这个问题可能在我之前被问过,但不知何故,我找不到合适的答案.
我可能必须编写自己的托管引导程序.但是直到现在,在我得到的示例中,引导程序也在自行安装并出现在Add-Remove程序中而不是我的产品中.
问题:我们可以让bootstrapper只安装我们的产品和必备的应用程序而不是自行安装吗?
问候
标题说明了一切.我似乎找不到一个完整的命令/标志/事物列表 - 我可以从命令行执行操作.
我正在使用 Visual Studio 2017 中的“Visual Studio 安装程序”项目类型为我的应用程序创建安装程序。
我希望我的安装程序使用我的应用程序安装 Visual C++ Redistributable 2015。我已经下载了该vc_redist.x86.exe文件,并将其包含在我的项目中,并且我正在尝试将安装作为“安装”上的自定义操作进行。我是带着论点发起的/install /passive /norestart。
当我执行安装程序时,当它执行自定义操作时,我收到此错误:
此 Windows 安装程序包有问题。作为安装一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。
我可以vc_redist.x86.exe /install /passive /norestart在命令提示符下运行,没有任何问题或错误。
有什么建议或替代方法可以将 Visual C++ 可再发行组件包含在我的安装中吗?
installation redistributable visual-studio-setup-proje visual-studio-2017
我正在寻找一种通过自己的界面向安装程序添加新页面的方法。最终,我希望我的安装程序依次执行许多操作,使用户能够转到下一页并检查或设置后续配置。
但目前我正在寻找如何添加一个在安装之前运行的附加页面,并检查计算机是否具有安装该应用程序所需的程序。我想将我准备好的代码附加到 c# 以检查这些程序是否安装在给定的计算机上。
通过使用本教程:
https://www.youtube.com/watch?
v=6Yf-eDsRrnM&t=7195s 我创建了安装程序的基本版本。在本教程中,我们使用创建安装程序WixUI_Minimal。
我查看了文档,上面写着您可以创建自己的页面,但我找不到任何地方。例如,https ://wixtoolset.org/documentation/manual/v3/wixui/ 是自定义内置 WixUI 对话框集,但他们没有显示如何做到这一点。
有没有办法在安装程序中更改该红色CD图片?

这是Burn项目的代码:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="Bootstrapper" Version="1.0.0.0" Manufacturer="VilmosNagy" UpgradeCode="844c755f-f02b-4dd3-8b9c-af2498f3128c">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<MsiPackage SourceFile="..\Setup\bin\Release\Setup.msi" />
</Chain>
</Bundle>
</Wix>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在创建一个bootsrapper,我想删除在安装过程中创建的链接.所以我写下面的步骤:
<Chain>
...
<ExePackage Id="removelnk" Cache="no" SourceFile="run.bat" InstallCommand="del "C:\Users\Public\Desktop\Parity UI.lnk"" />
</Chain>
Run Code Online (Sandbox Code Playgroud)
其中run.bat仅仅是%*允许的描述来运行任意代码在这里.
但是,它不起作用:
[19EC:0E2C][2018-06-16T18:32:27]i301: Applying execute package: removelnk, action: Install, path: C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat, arguments: '"C:\ProgramData\Package Cache\1608BB75347CD8C40187E5F3C0A969ED73A98D51\run.bat" del "C:\Users\Public\Desktop\Parity UI.lnk"'
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Process returned error: 0x1
[19EC:0E2C][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to configure per-machine EXE package.
[0AE4:2B94][2018-06-16T18:32:27]i319: Applied execute package: removelnk, result: 0x80070001, restart: None
[0AE4:2B94][2018-06-16T18:32:27]e000: Error 0x80070001: Failed to execute EXE package.
Run Code Online (Sandbox Code Playgroud)
如果我从登录中执行此命令,cmd那么它按预期工作.它甚至没有管理员权限. …
wix ×7
burn ×4
bootstrapper ×2
installation ×2
.net ×1
c# ×1
installer ×1
nuget ×1
windows ×1
wix3.7 ×1