问题列表 - 第14116页

如何停止 Windows 服务进行升级安装?

我使用 Visual Studio 2008 开发了一个 Windows 服务和一个安装项目。当我进行升级安装时,我收到以下警告:

以下应用程序正在使用安装程序必须更新的文件。您可以关闭应用程序并单击“再试一次”,或单击“继续”以便安装程序继续安装,并在系统重新启动时替换这些文件。

我想在升级安装过程中停止 Windows 服务。我已尝试创建自定义操作并覆盖 OnBeforeInstall 方法,但是在警告弹出消息已经发生后调用此方法为时已晚。

作为 msi 安装程序的一部分,有什么方法可以实现这一点。在执行 msi 安装程序之前,我宁愿不必将此作为单独的任务来执行。

更新:
根据进一步的研究,我发现 MSI 数据库确实支持这一点,但是内置的 Visual Studio 安装程序(设置)项目不提供执行此操作的方法。必须调整 MSI 数据库,或者使用 WiX 或商业安装程序。

c# installation windows-installer windows-services

4
推荐指数
1
解决办法
8031
查看次数

我的应用域名不会卸载

在运行时,我希望能够卸载DLL并重新加载它的修改版本.我的第一个实验陷入了火焰之中.谁能告诉我为什么?

private static void Main()
{
   const string fullPath = "C:\\Projects\\AppDomains\\distrib\\MyLibrary.dll";

   // Starting out with a  version of MyLibrary.dll which only has 1 method, named Foo()
   AssemblyName assemblyName = AssemblyName.GetAssemblyName(fullPath);
   AppDomain appDomain = AppDomain.CreateDomain("MyTemp");
   appDomain.Load(assemblyName);
   appDomain.DomainUnload += appDomain_DomainUnload;
   AppDomain.Unload(appDomain);

   // Breakpoint here; swap out different version of MyLibrary.dll which only has 1 method, named Goo()
   AssemblyName assemblyName2 = AssemblyName.GetAssemblyName(fullPath);
   AppDomain appDomain2 = AppDomain.CreateDomain("MyTemp2");
   Assembly asm2 = appDomain2.Load(assemblyName2);

   foreach (Type type in asm2.GetExportedTypes())
   {
      foreach (MemberInfo memberInfo in type.GetMembers())
      {
         string …
Run Code Online (Sandbox Code Playgroud)

c# appdomain

7
推荐指数
1
解决办法
4325
查看次数

关于John Resig的"JavaScript Micro-Templating"的任何进展?

所以我在John Resig的JavaScript Micro-Templating上看过这篇文章,我需要一个像这样的微模板引擎.

但他在帖子中表示,他将在他的"密友之书"中保留一个更精致的版本,并提到他希望看到它的演变.

所以我想知道,John Resig的微型模板引擎是否有更稳定/更先进的版本?如果是这样,我怎样才能获得它?这本JavaScript书籍在我的国家/地区不可用.

javascript templating-engine

19
推荐指数
1
解决办法
7969
查看次数

为什么弱指针有用?

我一直在阅读垃圾收集,寻找包含在我的编程语言中的功能,我遇到了"弱指针".从这里:

弱指针就像指针一样,除了弱指针的引用不会阻止垃圾收集,弱指针必须在使用之前检查它们的有效性.

弱指针与垃圾收集器交互,因为它们引用的内存实际上可能仍然有效,但包含的对象与创建弱指针时的对象不同.因此,每当垃圾收集器回收内存时,它必须检查是否有任何引用它的弱指针,并将它们标记为无效(这不需要以这种天真的方式实现).

我以前从未听说过弱指针.我想支持我的语言中的许多功能,但在这种情况下,我不能为我的生活想到这将是有用的情况.对于什么会使用弱指针?

garbage-collection pointers weak-references

15
推荐指数
3
解决办法
5829
查看次数

Java MIDI - 从钢琴获取数据?

我继承了一个Java项目,项目使用旧的C++ dll从连接到计算机的钢琴接收MIDI数据.

既然Java内置了对MIDI设备的支持,我想摆脱传统的C++ DLL并且只使用纯Java.Java是否支持从连接到计算机的钢琴接收数据?我搜索谷歌的例子无济于事.

java midi

8
推荐指数
2
解决办法
9698
查看次数

用于配置的XCode预处理器宏?

我希望我的XCode Objective-C项目能够检测它正在构建的配置.我怎样才能做到这一点?

macros xcode objective-c conditional-compilation c-preprocessor

6
推荐指数
1
解决办法
4802
查看次数

可以记住Clojure中的Java反射吗?

类型提示可以在多次反射发生的执行时间上有很大的改进.我对类型提示的理解是它只允许编译器缓存反射查找.缓存可以动态发生吗?或者有什么理由这是不好/不可能的?

clojure

4
推荐指数
1
解决办法
490
查看次数

Visual Studio是否始终在"源"视图中打开ASP.NET页面,而不是"设计"视图?

任何人都知道如何告诉Visual Studio 2008始终以"源"模式打开ASP.NET页面,而不是"设计"模式?

asp.net-mvc visual-studio

27
推荐指数
2
解决办法
7476
查看次数

开发人员是否应限于某些开发软件?

开发人员是否应限于某些开发用途的应用程序?

对于大多数人来说,只要开发团队同意它并不重要,答案就是答案.

对于经过安全认证审核的公司,是否有一种方法可以平衡公司的风险和开发人员的灵活性和绩效?

范围

  1. 编码/开发软件
  2. 构建系统软件
  3. 分发包含的第三方软件(库,实用程序)
  4. (附加)工作站上的剩余软件

可能的解决方案

  1. 创建已批准软件的白名单,开发人员必须先获得所需软件的批准才能使用该软件.批准将基于业务目的/安全风险.

  2. 为软件创建黑名单.开发人员列出所有使用的软件.审核委员会定期查看清单.

有没有人必须在限制开发人员工具超出团队设置的公司工作?他们是如何处理这种情况的?

编辑

清理问题.试图减少争论.

ide build-system libraries

1
推荐指数
2
解决办法
507
查看次数

正则表达式匹配指定分隔符之间的文本?(我自己无法得到它)

我一直在谷歌搜索并试图自己得到这个,但不能完全得到它...

问题:可以使用什么正则表达式来选择文本BETWEEN(但不包括)分隔符文本.举个例子:

Start Marker=ABC
Stop Marker=XYZ

---input---
This is the first line
And ABCfirst matched hereXYZ
and then
again ABCsecond matchXYZ
asdf
------------

---expected matches-----
[1] first matched here
[2] second match
------------------------
Run Code Online (Sandbox Code Playgroud)

谢谢

regex

2
推荐指数
1
解决办法
9963
查看次数