小编Hzm*_*zmy的帖子

MSI错误 - regsvr32自定义操作失败

简要

我有一个安装包(基于MSI),它试图注册一个dll文件,用作Windows资源管理器栏(Internet Explorer工具栏).

自定义操作定义如下:

[SystemFolder]\regsvr32.exe /s "pathtodllhere"
Run Code Online (Sandbox Code Playgroud)

错误

  • 该REGSVR32自定义操作并不能在Windows XP 64位工作.

MSI日志输出:

CustomAction SystemFolder_2返回实际的错误代码5.错误1722.此Windows Installer程序包有问题.作为设置的一部分运行的程序没有按预期完成.操作SystemFolder_2,位置:C:\ Windows\SysWOW64 \,命令:regsvr32.exe/s"C:\ Program Files(x86)\ Test Install\test.dll"

MSI(s)(10:F4):产品:测试安装 - 错误1722.此Windows Installer程序包存在问题.作为设置的一部分运行的程序没有按预期完成.操作SystemFolder_2,位置:C:\ Windows\SysWOW64 \,命令:regsvr32.exe/s"C:\ Program Files(x86)\ Test Install\test.dll"

到目前为止,我的测试/想法的简要说明:

  • 自定义操作位于"InstallFinalize"部分,因此仅在文件被放入硬盘驱动器时运行.
  • DLL文件没有损坏且有效.
  • Regsvr32自定义操作正常(和MSI安装):Windows 7 32位和Windows XP 32位.
  • Regsvr32 32位版本在64位安装期间执行(应该如此).
  • Regsvr32失败,错误代码为5,即ERROR_ACCESS_DENIED.

解决方案和冥想

  1. 自行注册 - 不使用regsvr32并使用我的MSI安装程序手动放置注册表项.
  2. dll是一个Delphi COM dll,它使用TRegistry组件进行自我注册.再一次,我想不出为什么这不起作用的原因,因为它只是一个包装,而只是一个想法.

希望我在这里展示我的研究,不要浪费任何人的时间!

windows delphi installer windows-installer regsvr32

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

在Amazon Linux AMI上升级Docker

我想在Amazon Linux上将Docker升级到v1.8.

在撰写本文时,他们的内部yum包存储库具有:Docker version 1.7.1, build 786b29d/1.7.1.

我已经尝试过的事情

Docker项目的repo手动安装

错误:包:docker-engine-1.8.2-1.el7.centos.x86_64(dockerrepo)需要:systemd-units

linux rhel yum amazon-web-services docker

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

MySQL在左连接上重复计算

数据库结构

CREATE TABLE installs(
    id INT, PRIMARY KEY(id), 
    created DATETIME)

CREATE TABLE uninstalls(
    id INT, PRIMARY KEY(id),
    created DATETIME,
    install_id INT)
Run Code Online (Sandbox Code Playgroud)

查询("我与MySQL")

SELECT DATE(installs.created),
  COUNT(installs.id),
  COUNT(uninstall.id)
FROM installs
LEFT JOIN uninstalls ON uninstalls.install_id = installs.id
GROUP BY DATE(installs.created)
Run Code Online (Sandbox Code Playgroud)

"预期"输出

DATE(installs.created) | COUNT(installs.id) | COUNT(uninstalls.id) 
  2012-11-20           | *installs on date* | *uninstalls on date*
Run Code Online (Sandbox Code Playgroud)

所以 - 我每天都在查看当天发生的安装/卸载次数.

问题

"安装"的数据每天都是正确的.但是每天"卸载"的数据遗憾地是不正确的.

mysql sql count left-join

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

多线程WinHttp下载

我正在创建一个Delphi应用程序来从Internet下载文件,如果服务器支持范围请求它将是多线程的.进度也被转发回GUI.

当前的软件模型使用TThread组件.GUI调用a TDownloadThread然后生成TDownloadPartThreads- 这些是实际通过'WinHttp'进行下载的线程.

我的问题:CPU已用完,即使只下载4个线程的下载.

我的假设原因:

  1. 我每8192字节写一次目标文件,想知道在写入一个块之前是否应该缓冲它?
  2. 线程通信是通过Synchronize(MainForm.UpdateProgress(Downloaded, TotalSize))我听到的AWFUL来完成的,也许我应该在线程之间共享一个对象,这样我可以使用主窗体上的计时器来访问它,以更新进度?

我的解决方案

  1. 交错文件写入只写每个x字节.

  2. 更新TThread要使用的组件,OmniThreadLibrary并以某种方式将数据发送回主表单.TDownloadPart然后,每个线程将成为一个IOmniWorker并通过与主表单共享对象来发回其进度.然后,主窗体将使用计时器来更新其进度,如:ProgressBar1.Position := sharedDataObject.Progress;

希望有人可以指出我正确的方向!

delphi multithreading winhttp omnithreadlibrary

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

PhantomJS和pjscrape - 在多个URL上失败

概观

我正在尝试用PhantomJS和pjscrape框架创建一个非常基本的刮刀.

我的守则

pjs.config({
timeoutInterval: 6000,
timeoutLimit: 10000,
format: 'csv',
csvFields: ['productTitle','price'],
writer: 'file',
outFile: 'D:\\prod_details.csv'
});

pjs.addSuite({
title: 'ChainReactionCycles Scraper',
url: productURLs, //This is an array of URLs, two example are defined below
scrapers: [
    function() {
        var results [];
        var linkTitle = _pjs.getText('#ModelsDisplayStyle4_LblTitle');
        var linkPrice = _pjs.getText('#ModelsDisplayStyle4_LblMinPrice');
        results.push([linkTitle[0],linkPrice[0]]); 
        return results;
    }
]
});
Run Code Online (Sandbox Code Playgroud)

URL数组已使用

第一个数组在第3个或第4个URL之后无法正常工作并失败.

var productURLs = ["8649","17374","7327","7325","14892","8650","8651","14893","18090","51318"];
for(var i=0;i<productURLs.length;++i){
  productURLs[i] = 'http://www.chainreactioncycles.com/Models.aspx?ModelID=' + productURLs[i];
}
Run Code Online (Sandbox Code Playgroud)

这第二个阵列WORKS并没有失败,即使是来自同一站点.

var categoriesURLs = ["304","2420","965","518","514","1667","521","1302","1138","510"];
for(var i=0;i<categoriesURLs.length;++i){ …
Run Code Online (Sandbox Code Playgroud)

javascript webkit scraper web-scraping phantomjs

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

Django与内置“用户”模型的多对多关系

情境

我有一个基本的Django应用,其中用户(django的身份验证内置模型)和报告之间具有多对多关系。

问题

Django不会创建相应的表来处理这种关系。我的应用程序称为reports。尝试创建report并为其分配用户时,管理系统中存在错误。它尝试查询该表reports_report_users,但由于该表不存在而失败。

models.py代码

 from django.db import models
 from django.contrib.auth.models import User
 class Report(models.Model):
     name = models.CharField(max_length=30, blank=False)
     users = models.ManyToManyField(User, related_name='reports')
     def __unicode__(self):
         return self.name
Run Code Online (Sandbox Code Playgroud)

尝试的解决方案

  1. 使用此链接作为参考:https : //docs.djangoproject.com/en/1.4/topics/db/examples/many_to_many/
  2. manage.py syncdb约300倍-好吧,只有一次,但没有任何错误,并在检查的SQLite数据库有没有额外的表创建:(

python django many-to-many

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