Tag: installer

C#检测产生的进程

我正在编写一段c#代码,用于启动安装程序并在继续使用其他内容之前等待它返回。 我遇到某些安装程序出现问题,这些安装程序在安装实际完成之前返回原始进程的其他进程。 有什么方法可以等到所有流程完成后? 为了澄清这里我遇到麻烦的情况: 启动Installer1 Installer1生成/启动另一个安装程序(Installer2) 安装程序1返回 应用程序认为安装已完成但Installer2仍在运行。 这会导致应用程序中的工作流问题。 这是我目前正在使用的代码: // launch installer Process process = windowsApplicationLauncher.LaunchApplication(_localFilePath); // wait for process to return do { if (!process.HasExited) { } } while (!process.WaitForExit(1000)); if (process.ExitCode == 0) { _fileService.MoveFile(_localFilePath, _postInstallFilePath); _notification.SetComplete(false); return true; } return false;

WIX和C#中的“SystemFolder”

我用WiX创建的安装程序使用SystemFolder变量安装DLL,并将C#app安装到另一个文件夹中。 我想直接从应用程序中引用DLL。 我是否需要查找注册表项以查找SystemFolder位置?

为iexpress创建批处理文件

我正在尝试使用iexpress运行我的批处理文件,它将为我执行2 exe和1 msi文件。 当我尝试手动操作时,它的工作原理。 以下是我的批处理文件中的代码。 Start /wait %CD%\1.exe /q Start /wait %CD%\2.exe /q msiexec.exe /i “%CD%\3.msi” 但是当我从iexpress创建一个exe文件时,这似乎不起作用。 参考 上面提到的文章有一些代码(将文件复制到临时文件夹)&但我无法理解语法。 MKDIR %Tmp%\ XCOPY . %Tmp%\ /S /E /Y %Tmp%\\setup.exe

NSIS静默安装(通过代码启动)

我正在尝试构建一个NSIS安装程序,它将执行以下操作: 1当正常运行时,它将使用具有常规选项的安装程序安装应用程序。 2当使用/ S开关运行安装程序时,它会进行静默安装,如果它显示UI则可以。 但它应该是自动的。 在我看来,安装程序“工作”,因为它运行,然后再次正确启动应用程序。 但它没有更新任何东西,它几乎就像它运行,但不复制任何文件。 当它是静默安装时,它由以下代码启动(应用程序更新自身) ProcessStartInfo Pro = new ProcessStartInfo(); Pro.Verb = “runas”; Pro.UseShellExecute = true; Pro.FileName = gDownloadedFileName; Pro.Arguments = “/S”; Pro.WindowStyle = ProcessWindowStyle.Normal; Pro.CreateNoWindow = true; NSIS脚本主(我可以发布NSIS支持脚本,如果ppl需要自定义) ; example2.nsi ; ; This script is based on example1.nsi, but it remember the directory, ; has uninstall support and (optionally) installs start […]

如何使用CustomAction更改ROOTDRIVE?

通常,您可以更改默认根驱动器以将应用程序安装到使用: D:\ 但是现在,我希望使用在我的安装向导中单击下一个按钮时调用的CustomAction来更改它: [CustomAction] public static ActionResult SetFullInstallRootDrive(Session session) { session[“ROOTDRIVE”] = session[“DRIVE_NAMES”].ToString(); } DRIVE_NAMES表示使用combobox选择的驱动器,并且ROOTDRIVE可以正确设置为我选择的任何本地驱动器(例如, C:\或D:\ )。 但是,安装程序始终安装到最初在上面的属性中设置的D:\驱动器。 发生了什么,以及如何在自定义操作中动态更改此属性的值,以便我可以让用户选择根驱动器来安装我的Web应用程序? 属性DOES已设置,但它不使用它,它几乎就像ROOTDRIVE属性仅在安装向导开始时被评估一次。

在安装程序项目中设置之前添加安装msi的自定义操作

我正在为我的一个Windows应用程序创建一个安装程序项目。 我想确保首先安装msi,即在安装主输出之前。 这里讨论的msi是Microsoft VisualFoxPro OLEDB 。 所以,如果我尝试添加自定义操作 因此,如果我将文件类型更改为所有文件并尝试添加msi,则会出错 不是自定义操作的有效文件类型 还有其他方法可以做我想在这里实现的目标吗?

对于已关闭的源程序集,“无法validation的代码未通过策略检查”

我试图在MSI安装例程期间从C#程序中的资源流动态加载一些(购买的)程序集,但我得到“无法validation的代码失败的策略检查”。 我在网上阅读了一些关于使用/ clr:safe编译嵌入式程序集的技巧,但我没有这个选项。 有没有办法解决这个政策检查? 谢谢。

如何以编程方式告诉Windows任务栏打开(或关闭)给定的工具栏?

我写了一个在任务栏上运行的工具栏。 不幸的是,安装后,用户必须手动启用它。 有没有办法告诉资源管理器打开(或关闭)给定的工具栏? 我希望安装程序NSIS在安装完成时打开工具栏(我意识到需要一个插件)。 我还想知道是否可以为所有用户自动启用工具栏,例如在多个用户共享PC的企业环境中。

我需要一个MSI自定义操作,从MSI源目录复制文件

我正在使用VS 2008为ac#windows项目创建一个安装程序。我正在尝试编写一个自定义操作,从存储在文件服务器上的MSI文件的源目录中复制一个设置文件(例如\ server \ fileshare \ myappinstaller \ mysetting.xml)到安装了我的应用程序的计算机上的目标目录(例如C:\ Program Files \ My App)。 设置文件无法添加到安装程序中,因为它包含的设置对于安装应用程序的客户来说是唯一的。 有没有人有这样的自定义动作的代码(最好是C#或VB.NET)? 或者,有人知道如何在自定义操作中获取MSI源位置(例如\ server \ fileshare \ myappinstaller)。 非常感谢

如何分配Excel VSTO安装的程序集位置?

我正在创建一个用C#编写的文档级工作簿/模板,并使用VSTO安装程序来部署代码。 安装项目后,我有完整的电子表格function,但是,当我将安装的工作表保存或复制到安装文件夹之外的另一个路径时,我收到以下错误: 具有以下完整细节: Name: From: file:///C:/Users/Kronos/Desktop/ExcelTemplate1.vsto ************** Exception Text ************** System.Deployment.Application.DeploymentDownloadException: Downloading file:///C:/Users/Kronos/Desktop/ExcelTemplate1.vsto did not succeed. —> System.Net.WebException: Could not find file ‘C:\Users\Kronos\Desktop\ExcelTemplate1.vsto’. —> System.Net.WebException: Could not find file ‘C:\Users\Kronos\Desktop\ExcelTemplate1.vsto’. —> System.IO.FileNotFoundException: Could not find file ‘C:\Users\Kronos\Desktop\ExcelTemplate1.vsto’. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, […]