Tag: wix

WiX静默安装无法启动内置的.EXE:WiX v3

我知道这看起来像是重复的,但我几乎尝试过任何在线内容,包括以下链接: 使用双击时,安装成功完成,并启动我的EXE,这是一个WPF UI。 问题是如果在命令行中运行,则会安装WiX安装程序,但我的WPF不会启动。 没有驱动程序更新。 请注意,我有自定义开关,如/? 我的WPF中的/ q / forerestart / noreboot。 安装后启动,没有UI? http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html 这是我的代码如下 NOT Installed <!– –> <!– –> <!—-> <!– –> NOT Installed

安装后,C#应用程序(使用WIX创建的安装程序)不会运行

经过几天的点击和试用后,我创建了一个简单解决方案的WIX安装程序,并按照几个教程,包括在安装结束时启动应用程序的选项,桌面上的图标和添加/删除程序列表中的应用程序快捷方式。 当它完全运行时,我为包含6个项目和SQLite数据库的原始项目复制了相同的过程。 但是现在当我安装安装程序时,单击桌面上已安装的图标无效。 它不会启动指定的exe。 请帮助我。 我应该分享wxs代码吗? 更新:以下是我的.wxs文件的大部分代码。 抱歉,我无法破译问题的根源,因此必须包含除标准顶级标签之外的所有代码。 此外,一旦发现问题,它可以成为其他Wix用户受益的参考。 WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed 从Debug或Release文件夹运行时,Pihu.exe运行正常。 第一个屏幕独立于DB,因此不会出现问题。 我认为唯一的问题是解决方案是多项目(尽管所有依赖项目的dll也存在于Debug和Release文件夹中)

wix c#app安装后无法启动

我已经使用Wix成功生成并成功安装了我的C#WPF应用程序。 该应用程序包括Crystal报告DLL和其他一些像Zen Barecode的dll。 在第n次尝试修改主项目之后,MSI能够自行安装,但是通过直接从快捷方式或可执行文件启动应用程序,它无法启动。 这是我的wix product.wxs = 600]]>

Wix:在自定义操作中写入文件

我遇到了wix和托管自定义操作的问题:在我的自定义操作中,我创建了一个文件并将其保存在INSTALLLOCATION路径中。 它似乎工作,没有抛出exception。 但是在安装之后,刚刚创建的文件在INSTALLLOCATION中不存在。 维克斯 – 文件: 定制操作-了Methode: … var keys = new string[session.CustomActionData.Keys.Count]; session.CustomActionData.Keys.CopyTo(keys, 0); var cad = keys[0]; var filepath = cad + “myfile.xml”; File.Create(filepath); … 有人有想法吗? 编辑:在Scott Boettger的post后编辑了wix文件内容。

EXE文件无法正常工作

我有一个.msi(Windows安装程序包)文件到我的项目中。 我成功地从.msi文件生成了.exe文件,但每当我尝试打开该.exe文件或以管理员身份运行时它什么都不做。 怎么解决这个? 对此有所帮助。 请帮忙 更新这是我的.msi文件的代码 components.wxs <!—-> <!—-> product.wxs

无法在Windows 10上构建WIX项目

我的WIX安装程序项目使用Visual Studio 2015在Windows 8.1上成功构建..NET版本为4.5.1。 但是当我升级到Windows 10时,我无法构建我的项目。 我不知道问题是因为Windows 10或其他问题。 当我构建我的项目时,我收到以下错误: 错误未找到“WixAssignCulture”任务。 检查以下内容:1。)项目文件中任务的名称与任务类的名称相同。 2.)任务类是“public”并实现Microsoft.Build.Framework.ITask接口。 3.)在项目文件或位于“C:\ Program Files(x86)\ MSBuild \ 14.0 \ bin”目录中的* .tasks文件中正确声明任务。 ProSafeInstaller C:\ Program Files(x86)\ MSBuild \ Microsoft \ WiX \ v3.x \ wix2010.targets 2340 错误无法从程序集C:\ Program Files(x86)\ MSBuild .. \ WiX Toolset v3.8 \ bin \ WixTasks.dll加载“ReadRegistry”任务。 无法加载文件或程序集“Microsoft.Build.Utilities,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。 […]

WiX:如何访问/更改托管引导程序中的安装目录?

我正在创建一个带有自定义用户界面的WPF设置应用程序。 我从Bryan P. Johnston的教程开始: http : //bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/ 在我看来,我有一个简单的TextBox绑定到MainViewModel的Property InstallationPath 。 现在,我希望在用户单击“安装”时使用此路径。 为此,我有一个绑定到我的InstallCommand的按钮。 调用以下方法(直接从教程中获取): private void InstallExecute() { Bootstrapper.Engine.Plan(LaunchAction.Install); } 如何将软件包安装到我的属性InstallationPath的目录中? 编辑: 我在Stackoverflow上发现了一个类似的问题: 在Burn托管引导程序内指定WiX中的软件包的INSTALLLOCATION 答案来自Bob Arnson 为每个MsiPackage使用MsiProperty子项指定INSTALLLOCATION = [BurnVariable]。 然后使用Engine.StringVariables设置BurnVariable。 现在,我想我可以像这样访问InstallExecute的StringVariables private void InstallExecute() { Bootstrapper.Engine.StringVariables[“BurnVariable”] = InstallationPath; Bootstrapper.Engine.Plan(LaunchAction.Install); } 但是在哪里定义这个变量? 我想在Product.wxs的某个地方?

如何在C#中解析MSI路径?

我需要在安装之外的MSI数据库中解析目标路径。 我目前正在使用Wix SDK,通过查询数据库的目录和文件表并从那里构建路径,但解析路径似乎应该已经内置了。 是否有一个图书馆可以做到这一点,即使是非正式的东西,还是我坚持自己做这件事? 这个问题已经被要求用于C ++,但唯一的答案在某种程度上误解了关于字符串的问题。 我真的不介意表现。 我真正关心的是解析特殊文件夹,如“。:字体”,“。:Windows”,“。:WinRoot”等 – 我仍然可以在我自己的代码中完成,但不是很优雅。

安装期间卸载应用程序无法正常工作

我正在用C#开发WPF应用程序。 目前我的msi在机器上安装了当前的应用程序。我需要在安装新的一个(msi)时卸载现有版本的两个支持应用程序。 我编写代码以编程方式卸载应用程序,当我在installer.cs调用应用程序卸载方法时,这不起作用。当我从除installer.cs以外的项目的其他部分调用时,同样的方法卸载两个应用installer.cs 。 卸载方法: public static string GetUninstallCommandFor(string productDisplayName) { RegistryKey localMachine = Registry.LocalMachine; string productsRoot = @”SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products”; RegistryKey products = localMachine.OpenSubKey(productsRoot); string[] productFolders = products.GetSubKeyNames(); foreach (string p in productFolders) { RegistryKey installProperties = products.OpenSubKey(p + @”\InstallProperties”); if (installProperties != null) { string displayName = (string)installProperties.GetValue(“DisplayName”); if ((displayName != null) && (displayName.Contains(productDisplayName))) { […]

如何在C#中找到已安装应用程序的升级代码?

我正在使用WIX工具集中的Windows Installer API的C#包装器。 我使用ProductInstallation类来获取有关已安装产品的信息,例如产品代码和产品名称。 例如 产品名称 – “我的测试应用” 产品代码 – {F46BA620-C027-4E68-9069-5D5D4E1FF30A} 产品版本 – 1.4.0 在内部,这个包装器使用MsiGetProductInfo函数。 不幸的是,此function不会返回产品的升级代码。 如何使用C#检索已安装应用程序的升级代码?