问题列表 - 第21014页

Wix主要升级:如何防止重新安装Windows服务?

我正在开发一个应该安装多个Windows服务的安装程序.我们经常制作新版本(使用新的.msi文件),并且我们使用主要升级使其易于安装在以前的安装中.

问题是我们需要更新服务文件而不覆盖服务配置(例如帐户用户名和密码).

我们使用ServiceInstallServiceControl保存该服务的组件内部exe文件.有没有办法使ServiceInstall条件的执行(使用类似条件REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE)所以升级时没有卸载服务(刚刚停止,所以我们可以升级文件)?

一种解决方案是使用自定义操作,但也许有更好的方法?

谢谢!

windows-installer wix

14
推荐指数
1
解决办法
4393
查看次数

在OpenSSL中使用ECDSA签名消息

在以编程方式在OpenSSL中使用ECDSA时,如何设置用于签名消息的私钥?我有以下代码:

static int create_signature(unsigned char* hash)
{
  EC_KEY *eckey=NULL;
  EC_GROUP *ecgroup=NULL;
  EVP_PKEY *evpkey=NULL;
  unsigned char *signature=NULL;
  point_conversion_form_t form = POINT_CONVERSION_UNCOMPRESSED;
  int signature_size, block_size;
  unsigned char * block=NULL;

  ecgroup = get_ec_group_192();
  EC_GROUP_set_asn1_flag(ecgroup, OPENSSL_EC_NAMED_CURVE);
  EC_GROUP_set_point_conversion_form(ecgroup, form);
  eckey=EC_KEY_new();
  EC_KEY_set_group(eckey,ecgroup);
  EC_KEY_generate_key(eckey);
  evpkey=EVP_PKEY_new();
  EVP_PKEY_assign_EC_KEY(evpkey,eckey);
  signature=OPENSSL_malloc(EVP_PKEY_size(evpkey));

  ECDSA_sign(0, hash, sizeof(hash), signature, &signature_size, eckey);

  printf("%s", signature);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

该函数get_ec_group_192()是通过运行创建的,openssl ecparam -C -name secp192k1 -genkey它也会生成一些EC PARAMETERS和一个EC PRIVATE KEY.

我想要做的是加密hash我的私钥中包含的消息,以便只有公钥才能解密它.这可能与上面的代码有关,还是我完全错了?

c encryption openssl elliptic-curve

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

Zend Auth并在登录后重定向用户

所以我使用简单的Zend_Auth机制来确保我的用户在访问某些控制器之前登录.我的AdminController包含此方法

function preDispatch()
{
    $auth = Zend_Auth::getInstance();
    if (!$auth->hasIdentity()) {
        $this->_redirect('auth/login');
    }
}
Run Code Online (Sandbox Code Playgroud)

用户被重定向到AuthController,但在成功登录后被重定向到我的网站的默认"索引"页面,而不是"管理员"页面.

function loginAction()
{
    if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
        // collect the data from the user
        Zend_Loader::loadClass('Zend_Filter_StripTags');
        $filter = new Zend_Filter_StripTags();
        $username = $filter->filter($this->_request->getPost('username'));
        $password = $filter->filter($this->_request->getPost('password'));

        if (empty($username)) {
            $this->view->message = 'Please provide a username.';
        } else {
            // setup Zend_Auth adapter for a database table
            $dbAdapter = Zend_Db_Table::getDefaultAdapter();

            //Zend_Loader::loadClass('Zend_Auth_Adapter_DbTable');
            $authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
            $authAdapter->setTableName('login');
            $authAdapter->setIdentityColumn('email');
            $authAdapter->setCredentialColumn('password');

            // Set the input credential values to authenticate against …
Run Code Online (Sandbox Code Playgroud)

zend-framework

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

如何使用不同的上下文路径部署grails应用程序

在grails文件中,我可以为Tomcat上运行的grails应用程序定义不同的上下文路径吗?(例如,该项目称为MyApplication,但我想将其引用为/ myapp)谢谢

deployment grails tomcat

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

忽略HTML实体的正则表达式

我需要在javascript中使用正则表达式,它执行以下操作.

这些实例这不是一个HTML实体的一部分,应改为w ^.

例如:

abc should change to wbc

aabacaa should change to wwbwcww

&abcaa& should change to &wbcww&  
Run Code Online (Sandbox Code Playgroud)

等等.

我正在使用JavaScript.

任何帮助表示赞赏.

javascript regex

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

访问Haskell函数中的命名字段

我在Haskell中定义了一个Tree数据类型,并在一个关联的'size'方法中计算了树中元素的数量.这之前有用,但我更新了Tree数据类型以使用命名字段,如下面的定义:

data Tree a = Empty
 | Leaf {value::a}
 | Node {left :: (Tree a), value :: a, right :: (Tree a)}
 deriving (Eq, Ord, Show)
Run Code Online (Sandbox Code Playgroud)

我发现(通过在GHCi中玩游戏)我可以使用函数(左n)访问命名字段.但是,当我尝试使用此功能时,我收到一个错误:

size :: Tree a -> Int
size Empty    = 0
size (Leaf l)   = 1
size (Node n)   = size (left n) + 1 + size (right n)
Run Code Online (Sandbox Code Playgroud)

GHCi简单地说"不在范围内:左边"和等同于右边.Tree定义位于名为Tree的模块中,大小定义位于名为Main的模块中,但是对于非命名字段,从Tree数据类型访问变量时,我从未遇到过范围问题.

haskell ghci

3
推荐指数
1
解决办法
456
查看次数

为什么我从Exceptions创建的堆栈跟踪中没有获得行号?

好的; 假设此代码在调试模式下运行 -

static StackFrame GetTopFrameWithLineNumber(Exception e)
{
    StackTrace trace = new StackTrace(e);
    foreach (StackFrame frame in trace.GetFrames())
    {
        if (frame.GetFileLineNumber() != 0)
        {
            return frame;
        }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

我总是返回null.为什么我检查Exception.StackTrace字符串时堆栈帧没有行号,它显然有任何非框架代码?从我不知道的异常构造堆栈跟踪是否存在问题?

编辑CLARITY: 在抛出的异常中,我可以看到StackTrace属性中的行号.我假设这意味着我拥有我需要的一切.

.net debugging stack-trace line-numbers

9
推荐指数
1
解决办法
6590
查看次数

使用Checked Exceptions设计语言

我很清楚关于检查异常是否是一个好主意的整个论点,我认为它们是......但这不是这个问题的重点.我正在设计一个相当简单的编译OOP语言,我决定使用已检查的异常作为一种返回错误的方法,而不会返回返回错误代码的C路由.

我正在寻找一些有关如何改进已检查异常的Java模型以消除其大多数不良方面的信息,可能是语法更改或略微更改实际功能.对检查异常的主要批评之一是,懒惰的程序员可能会吞下它们,因此不会出现错误.

也许它可以是可选的捕获异常,因此如果没有捕获,程序会崩溃?或者也许可以有特定的表示法来表示没有处理异常(比如C++虚函数'= 0'表示法)?或者,如果异常处理程序为空,我甚至可能导致程序崩溃(虽然这可能会让程序员对该语言不熟悉)

try ... catch语法怎么样,你认为可以用更简洁的方式表达异常被捕获吗?该语言将使用垃圾收集器,就像Java一样,所以是否需要finally子句?最后,还有哪些其他缺点可以检查异常以及存在哪些潜在解决方案(如果有的话)?

language-design exception

7
推荐指数
2
解决办法
1014
查看次数

Django模板 - 我可以设置一个在父模板中使用的变量吗?

我有一个包含通用导航菜单的父模板.我希望能够添加class="selected"到适当的菜单选项.

我希望能够在子模板中设置变量,例如:

{% set menu = "products" %}
Run Code Online (Sandbox Code Playgroud)

并做:

{%ifequal menu "products" %}class="selected"{% endifequal %}
Run Code Online (Sandbox Code Playgroud)

我不想在View中设置一个值,因为我必须将它添加到我的所有视图方法中,并且我不想在每个子页面中重复整个菜单html,因为如果菜单更改我只想更改HTML在一个地方.

我是从"非Django"的心态来接近这个吗?

任何帮助将非常感激.谢谢.

django variables inheritance templates

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

如何从C中的另一个文件访问静态变量?

可能重复:
静态变量

如何从C中的另一个文件访问静态变量?由于静态变量具有文件范围,我认为我们无法在文件外访问它.但我仍然觉得可能有一些技巧或方法来做同样的事情.

c static-variables

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