我有一个C#.net 4应用程序,我开始创建安装程序.
安装的程序工作正常,但我的客户希望应用程序从窗口开始(它是一个"始终顶部"工具栏,帮助他们管理他们的调用).
我想创建一个"类安装程序",并在其中插入一个键在注册表中.
我有两个问题:
第一:如何找到可执行路径?它可以在安装之间改变.我在某处找到了Application.ExecutablePath,但它似乎位于Application.Window.Forms中,所以我认为它与WPF不兼容
第二:我需要在本地机器的注册表中插入此密钥.Windows安装程序中是否有一种方法可以指定用户必须具有管理员权限?
这是我开始的代码:
RegistryKey rkApp = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue("CstStart", ???);
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助!
编辑:我发现我可以传递给我的自定义操作一些数据,:
/ DIR = "[TARGETDIR] \"
在CustomActionData中.
通常它说我可以通过它检索它
this.Context.Parameters["DIR"];
Run Code Online (Sandbox Code Playgroud)
但是....似乎在我的安装程序类中,this.Context为null :(
EDIT2:Context是null因为我在构造函数中这样做,我现在正在this.AfterInstall中执行此操作,现在我得到一个上下文,它似乎包含一个var"assemblypath",其中包含我需要的路径.
我使用 Visual Studio 2015(带有 Visual Studio 安装程序插件)创建了一个安装程序。目标是始终使用相同的本地资源运行应用程序,无论谁登录,因此我们的目标是 [CommonAppDataFolder](Win10 上的 C:\ProgramData...)。安装程序可以很好地将所有共享资源放置在我们想要的位置。但生成的 MSI 提供了以“所有人”或“仅我”身份安装的选项
我们希望将安装选项灰显为“只有我”。有没有办法在 Visual Studio 中执行此操作,作为 MSI 构建过程的一部分。
我看到一些涉及使用不同参数运行MSIEXEC 的解决方案,例如ALLUSERS,但我想知道是否有一种方法可以将其设置为在 Visual Studio 中自动发生。
谢谢。
installation windows-installer visual-studio visual-studio-setup-proje
我通过(服务名称:测试服务)安装了Windows服务
Windows 7计算机中.NET Framework(:\ Windows \ Microsoft.NET \ FrameWork64 \ v4)中存在的InstallUtil.exe。
我可以在服务控制台下看到我的服务。
但是,我转到控制面板的程序和功能来手动卸载同一服务,但我没有在程序和功能下看到我的服务?
有什么想法为什么服务不会显示,以便用户可以卸载它?
我也检查了显示隐藏文件,但仍然没有显示服务?