Tag: windows installer

Visual Studio Installer UI集成

是否可以为Visual Studio 2013安装程序项目( https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d )创建自定义UI? setup.exe和.msi有什么不同? 是否有一个很好的例子来解释VS安装程序? 任务是创建VS2013之类的安装程序,它从Web下载最新文件(URL是硬编码的)。 据我所知,setup.exe应该从网上获取最新的.msi文件,下载并运行它? 因此,setup.exe需要以某种方式进行自定义。 那可能吗?

从C#中的msi文件获取产品名称

我有一个安装应用程序的msi文件。 我需要在安装开始之前知道该应用程序的产品名称。 我尝试了以下方法: { … Type type = Type.GetType(“Windows.Installer”); WindowsInstaller.Installer installer = (WindowsInstaller.Installer) Activator.CreateInstance(type); installer.OpenDatabase(msiFile, 0); //this is my guess to pass in the msi file name… … } 但现在? Type为null ,这会引发错误。 我在哪里传递MSI文件的名称? 感谢您的任何提示和评论。

安装完成后如何运行批处理脚本?

我正在为一个C#项目的Visual Studio 2008(安装和部署>安装项目)中开发的自定义安装程序工作。 我想在安装完成后运行批处理文件(* .bat)。 我怎样才能做到这一点?

如何在vs2008中更改msi安装程序包的图标,并在为c#项目创建包后更改用户界面屏幕

我正在尝试更改msi安装程序包的图标。 我没有找到任何解决方案。 此外,我试图更改msi安装程序包的用户界面。 我为该界面获得了一些皮肤,但这是跟踪版本..任何人都知道请帮助我解决上述问题。

Wix自定义操作设置值从CA到wix

在延迟(使用impoersonate = no)将值发送到WIX到CA,我使用的是set属性和值 使用session.CustomActionData [“key”]收集CA中的数据; 有没有办法将数据从CA发送回WIX 我立即使用, session[“RESTART”] = “true” …如何在延迟CA中实现此目的

使用visual studio安装程序在安装过程中更改app.configuration文件失败:无法加载文件或程序集’EntityFramework’

项目信息:我们正在创建一个安装程序项目,允许用户选择服务器名称和数据库名称。 安装主程序后,将创建相应的数据库。 安装程序项目: 有一个带有两个文本框的附加UI屏幕,包含servername和databasename。 将在安装时执行自定义操作,并将servername和databasename定义为自定义操作数据。 主要应用: 安装程序类连接安装后事件。 该类将在安装期间自动执行。 自定义操作数据将作为参数传递给此类。 安装后事件将触发一个方法: 创建数据库 获取app.config文件并调整connectionstring。 一切正常, 期望保存配置文件:我们收到此错误: System.Configuration.ConfigurationErrorsException:创建> entityFramework的配置节处理程序时出错:无法加载文件或>程序集’EntityFramework,Version = 6.0.0.0,Culture = neutral,> PublicKeyToken = b77a5c561934e089′ 很奇怪,在运行和调试主应用程序时,我们不会遇到entityframwork的任何错误。 此外,我们能够将代码作为unittest执行,因此只有在使用visual studio安装程序进行安装期间更改配置文件时才会出现此assembly问题 您可以在下面找到更改配置文件的代码。 void DeployInstaller_AfterInstall(object sender, InstallEventArgs e) { try { Configuration config = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); string connectionsection = config.ConnectionStrings.ConnectionStrings [“XBSDbDataContext”].ConnectionString; ConnectionStringSettings connectionstring = null; if (connectionsection != null) { config.ConnectionStrings.ConnectionStrings.Remove(“XBSDbDataContext”); } […]

c#在Windows上更新程序时仍在运行

我在自助服务终端上有一个程序,其中包含一个相关服务,通过定期在网上查看更新版本的MSI来更新程序。 如果找到一个,它将安装它,程序可能仍在运行。 为了解决上述解决方案的DLL冲突,我使用版本重命名MSI中的程序集,以便在旧版本运行时安装新版本。 应用程序将轮询安装目录以获取较新的版本程序集,如果它在未使用时立即重新启动。 有没有更好的方法来做到这一点?

你如何从代码中调用exe并绕过可能的UAC行动呢?

我正在使用system.diagnostics.process以安静模式启动msi文件。 我得到退出代码1625,我怀疑它是因为UAC阻止它运行。 我已经关闭了UAC提示但没有骰子…… 如何确保我正确提升msiexec的权限以使其实际运行? 谢谢, 艾萨克

使用WiX DTF获取组件代码

我一直试图找到一种方法来获得给定产品代码的Windows Installer组件代码。 (我实际上是尝试使用不包含组件代码的快捷方式获取已安装产品的组件路径,但这是一个较长的故事 。) 我遇到过WiX DTF(Microsoft.Deployment.WindowsInstaller)程序集,这看起来像是一个很好的方法来完成MSI的工作。 当我编写以下代码时,我非常有希望: Session product = Installer.OpenProduct(productCode); ComponentInfoCollection components = product.Components; ComponentInfo component = components.FirstOrDefault(); 我希望我可以从ComponentInfo获取组件代码。 不幸的是,我认为没办法做到这一点。 是否可以使用WiX DTF类获取组件代码? (或任何其他方式来……)

链接和引导多个MSI并将现有的MSIfunction集GUI合并到一个自定义GUI中

关于Bootstrapper和Chaining的问题可能以前曾被问过。 我想问一些类似和不同的东西。 我的要求是将CHAIN 3 installshield msi into a single one , expose the feature selection GUI of 2 of the MSIs为单个特征集,以便当用户选择顶层的任何特征时,该选择作为参数传递(s)基础相应的msi和安装继续。 用户可以再次启动此exe / setup,他可以通过以常规方式选择它们来删除/修改function。 最后,当安装结束时the package should generate a custom XML file ,由内部工具根据上面用户选择的function使用。 因此,标准和自定义行为混合在一起。 I have no clue about the world of installers 。 可能有人可以建议如何以最小的努力实现这一点或重做correct approach ? 。 我应该in C#/Winforms (or WPF) ?编写这样的工具in C#/Winforms (or […]