Tag: 自定义操作

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

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

文件夹权限:授予所有用户完全控制权限

我正在开发一个应用程序,它将一些文件存储在CommonApplicationData文件夹中。 我的应用程序必须修改这些文件。 我设法创建一个自定义操作,以授予CommonApplicationData文件夹中我的应用程序文件夹的完全控制权限。 但这并没有解决非管理员用户的问题。 当我以用户身份登录并尝试修改其中一个文件时,我收到“拒绝访问”消息。 我怎么解决这个问题? 谢谢。 这是我在自定义操作中使用的代码: public void GetUsers() { SelectQuery sQuery = new SelectQuery(“Win32_UserAccount”, “Domain='” + System.Environment.UserDomainName.ToString() + “‘”); try { ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQuery); foreach (ManagementObject mObject in mSearcher.Get()) { Permission(mObject[“Name”].ToString()); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void Permission(string user) { string directory = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); string […]

在C#自定义操作中更改安装程序属性

如何在C#自定义操作中更改安装程序属性?

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

在.MSI自定义操作中安装证书无法正常工作

我正在尝试在自定义操作中在本地计算机存储中安装证书。 证书已安装,但当我使用它来查询AWS时,我收到此错误: 对象仅包含密钥对的公共一半。 还必须提供私钥。 安装程序正在升级 ,目标是Windows Vista。 如果我使用单独的.exe来安装完全相同的证书,使用完全相同的代码,它的工作原理。 那么使用Windows Installer安装证书时有什么不同呢? 代码: private void InstallCertificate(string certificatePath, string certificatePassword) { if (IsAdmin()) { try { X509Certificate2 cert = new X509Certificate2(certificatePath, certificatePassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet); X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine); store.Open(OpenFlags.ReadWrite); store.Add(cert); store.Close(); } catch (Exception ex) { throw new DataException(“Certificate appeared to load successfully but also […]

安装前显示自定义表单?

我正在为Windows应用程序创建一个设置,我想在用户点击设置时显示一个表单。 该表单将向用户请求密码。 正确的密码将导致正确安装设置,否则安装将被取消。 如果有人提供链接,怎么做呢。 提前致谢。

.Net中的自定义安装程序显示安装程序后面的表单

[RunInstaller(true)] public partial class Installer1 : Installer { public Installer1() { InitializeComponent(); } public override void Install(System.Collections.IDictionary stateSaver) { base.Install(stateSaver); } private void Installer1_AfterInstall(object sender, InstallEventArgs e) { Form1 topmostForm = new Form1(); topmostForm.BringToFront(); topmostForm.TopMost = true; topmostForm.ShowDialog(); } } 我需要在默认的Windows Installer UI前面显示topmostForm。 以上是我用于创建表单的CustomAction中的示例代码。 设置TopMost属性或使用ShowDialog没有帮助。 有没有其他解决方案可以使我的表格成为最顶级和最集中的?

安装程序自定义操作问题 – 无法写入注册表项

在自定义操作编辑器中,我已将自定义操作添加到该过程的安装和卸载阶段。 在属性窗口中,我将CustomActionData属性标记为: /TARGETDIR = “[TARGETDIR]” 我希望上面将安装目录信息传递给自定义操作。 自定义操作似乎正在触发,但我收到以下错误消息: “错误1001.无法写入寄存器的密钥” (或类似的东西,我正在用我的本地语言翻译它)。 我究竟做错了什么? using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration.Install; using System.Linq; //using System.Windows.Forms; using Microsoft.Win32; namespace CustomActions { [RunInstaller(true)] public partial class Installer1 : Installer { public override void Install(IDictionary stateSaver) { base.Install(stateSaver); const string key_path = “SOFTWARE\\VendorName\\MyAppName”; const string key_value_name = “InstallationDirectory”; RegistryKey […]