小编Dmi*_*nko的帖子

Wix安装程序不会覆盖以前版本的可执行文件

我有一个非常简单的安装程序 - 将一个DLL复制到Program Files子文件夹并使用regsvr32.exe注册它.效果很好,但是如果安装了旧版本的dll,"修复"不会覆盖现有的dll.dll已签名,其版本(构建)编号始终递增(例如2.0.0.123 - > 2.0.0.124).

查看以前的类似帖子,我添加了RemoveExistingProducts并将ProductId指定为"*".卸载然后安装新版本工作正常,但我真的需要修复来更新现有的dll.

还有什么我需要做的吗?

谢谢!

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

  <!--
When creating a new install for the next version, these fields must be modified
-->
  <?define ProductVersion = "2.0.00" ?>

  <?define ProductId64 = "*" ?>
  <?define ProductId32 = "*" ?>

  <?define PackageId   = "45F34788-66AC-441C-B666-707FFA7F1EE9" ?>


  <!-- Product name as you want it to appear in Add/Remove Programs-->
  <?if $(var.Platform) = x64 ?>
  <?define ProductName = "XYZ (64 bit)" ?>
  <?define Win64 = "yes" …
Run Code Online (Sandbox Code Playgroud)

windows-installer wix

11
推荐指数
2
解决办法
3883
查看次数

Delphi中的COM方法偏移

在Delphi中,如何找到COM方法的地址?我可以硬编码补偿

//0 is the offset of the QueryInterface method
p := TPonterArray(pointer(SomeInterface)^)[0];
Run Code Online (Sandbox Code Playgroud)

但我更愿意使用符号名称.以下显然不起作用:

var M : TMethod;
...
M := TMethod(SomeInterface.QueryInterface);
Run Code Online (Sandbox Code Playgroud)

谢谢!

delphi com vtable

9
推荐指数
2
解决办法
1174
查看次数

适用于iOS/Android/OSX的OmniThread替代品?

iOS/Android/OSX下有OmniThread的替代品吗?

它不需要像OmniThread一样完整,我只需要能够拥有线程池和TFuture <>类.

谢谢!

更新:Delphi XE7现在在System.Threading中实现Future/Parallel/Task.

delphi omnithreadlibrary firemonkey

6
推荐指数
0
解决办法
490
查看次数

如何在Outlook加载项中存储凭据

我正在寻找在Outlook加载项中存储第三方API凭据的正确,安全的方法.本概述的不同的存储选项只是说不是存储在设置凭证,而不是在那里把他们,所以我假定RoamingSettings会好起来的.然后我跑进了这个页面,其中包含有关RoamingSettings的信息,它说它也不是正确的位置.

那么问题就变成了:什么正确的地方?我应该构建自己的存储解决方案并在文件或cookie中存储/加密凭据吗?这也不是很安全,因为我们讨论的是基本上是在iframe中运行的Web应用程序.

javascript security outlook-web-addins

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

使用PFX文件制作一个名为COM的互操作程序集

我正在尝试使用PFX文件创建一个名为COM的互操作程序集。
TlbImp.exe非常满意使用“ sn.exe -k”(包含公钥和私钥)创建的SNK文件,但是问题是我有一个PFX文件...
我可以从PFX导出公钥使用sn.exe -p到SNK,但它仅导出公钥,而TlbImp.exe根本不喜欢。我可以同时导出公钥和私钥吗?

我尝试使用
sn.exe -i MyCompany.pfx xyz 安装PFX文件
,然后使用
TlbImp.exe / keycontainer:xyz ... 导入类型库,
但这给了我
TlbImp:错误TI0000:指定了无效的强名称参数。

我能做什么?
谢谢!

更新:奥列格的答案和下面的实用程序完美地工作。PFX文件(重新导出后)可以成功用于提取公钥(sn.exe -p),以将其与tlbimp.exe(tlbimp.exe /publickey:xyz.pub)一起使用。然后可以使用PFX文件重新签名互操作dll(sn.exe -R

Comodo确实确实把球丢了上。以下是原始和固定PFX文件的转储(certutil.exe -dump -v xyz.pfx):

 

之前:

CERT_KEY_PROV_INFO_PROP_ID(2):
密钥容器= {36BDD7BD-F295-47B2-B9E7-C25BD5B4313E}
独特容器名称:bf63afd9ba3fb912ccd3423c6486e5fc_25e0623f-f712-49e2-阿卜达-f31f014b5dae
提供商= Microsoft增强加密提供程序
ProviderType = 1个
标志= 0
KeySpec = 1 - AT_KEYEXCHANGE
...
私有密钥:
PRIVATEKEYBLOB
版本:2
aiKeyAlg:0xa400
CALG_RSA_KEYX
算法类:0xa000(5)ALG_CLASS_KEY_EXCHANGE
算法类型:0×400(2)ALG_TYPE_RSA
算法SUB-ID:为0x0(0)ALG_SID_RSA_ANY
 

后:

CERT_KEY_PROV_INFO_PROP_ID(2):
密钥容器= {DBA6454E-F6D2-4F0B-AB1B-9E4F7C0E139C}
独特容器名称:d2d09f87081c1af7c4225889f1af2250_25e0623f-f712-49e2-阿卜达-f31f014b5dae
提供商= Microsoft增强加密提供程序
ProviderType = 1个
标志= 0
KeySpec = …

com interop cryptography com-interop public-key-encryption

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

使用 Redemption 将 MSG 转换为 EML 后,内部地址丢失

我目前正在评估redemption将 MSG 文件转换为 EML 文件的库。

RDOSession session = new RDOSession();
RDOMail msg = session.GetMessageFromMsgFile(msgFile);
msg.SaveAs(emlFile, rdoSaveAsType.olRFC822);
Run Code Online (Sandbox Code Playgroud)

到目前为止,与我针对“野生 MSG 文件语料库”测试过的其他所有内容相比,Redemption 在这里做得非常好。

然而,内部电子邮件地址存在问题。对于内部电子邮件地址,生成的 EML 文件personal仅包含地址的一部分,但不包含带有符号的真实电子邮件地址@

在任何情况下,我都可以看到RDOMail的收件人对象包含SMTPAddress属性中的真实电子邮件地址。但是Address包含外部地址的“真实电子邮件地址”的属性有所不同,但类似于/O=EXAMPLE ORGANIZAION/OU=SOME GROUP/cn=Recipients/cn=FBarney内部地址的属性。

后者正是在生成的 EML 文件中缺少真实电子邮件地址的地址。

所以我试图覆盖这样的Address属性:

recipient.Address = recipient.SMTPAddress;
Run Code Online (Sandbox Code Playgroud)

但这对最后生成的 EML 文件没有任何影响。

如何在不丢失内部地址的真实电子邮件地址的情况下将 MSG 转换为 EML 并进行兑换?

c# mapi msg eml outlook-redemption

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

使用 Excel VBA 获取发件人的 SMTP 电子邮件地址

我使用以下代码提取主题、接收日期和发件人姓名:

Set InboxSelect = GetObject("", "Outlook.Application").GetNamespace("MAPI").PickFolder
i = 0: EmailCount = 0
EmailCount = InboxSelect.Items.Count
While i < EmailCount
    i = i + 1
    blastRow = Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
    LastRow = Sheets("Body").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row
    With InboxSelect.Items(i)
        MsgBox (SenderEmailAddress)
        'If .senderemailaddress = "*@somethingSpecific.co.uk" Then
            'EmailCount = EmailCount + 1
            Sheets("Import Data").Range("A" & blastRow).Formula = .SenderName
            Sheets("Import Data").Range("B" & blastRow).Formula = Format(.ReceivedTime, "dd/mm/yyyy")
            Sheets("Import Data").Range("C" & blastRow).Formula = .Subject
            Sheets("Body").Range("A" & LastRow).Formula = .Body
        'End If
    End With
Wend
Run Code Online (Sandbox Code Playgroud)

我现在想要实现的是一个 if 语句,它会说“如果发件人的电子邮件地址是 'anything@somethingSpecific.co.uk',则执行该代码。我已经尝试过 SenderEmailAddress,但在消息中测试时它返回空白盒子。 …

email excel outlook vba

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

Powershell电子邮件:如何在电子邮件正文中添加新行?

Powershell的新手。编写了运行正常的powershell脚本,但是在发送邮件时,它在正文中未显示换行符。以下是配置:

$EmailFrom = "monitoring@mydomainname.no"
$EmailTo = "fatherazrael@tcs.com"
$Subject = "Disk Space Low: $server"

$Body = "Server Name:  $server, <NEED NEW LINE> Drive: C,  <NEED NEW LINE>  Total Size: $sizeGB,  <NEED NEW LINE> Space Left: $freeSpaceGB"

$SMTPServer = "scan.opinergo.fn"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
#$SMTPClient.Credentials = New-Object System.Net.NetworkCredential("<From mail ID>", "Password");
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)   
Run Code Online (Sandbox Code Playgroud)

在正文中我用下列代替; 搜索:

1)%0d%0a-用户检查邮件时不起作用

2)\ n-用户检查邮件时不起作用

3)<br>-当用户检查邮件时不起作用

有人可以建议我还能用什么来获得新行或脚本中需要的任何修改吗?

email powershell newline

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

由于消息的永久异常而无法处理消息无法提交消息Django Outlook / hotmail

如果有人遇到这个问题,我将衷心感谢您的帮助。

我在使用hotmail发送本地电子邮件时遇到此错误:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/huey/consumer.py", line 169, in process_task
    task_value = self.huey.execute(task)
  File "/usr/local/lib/python3.6/site-packages/huey/api.py", line 357, in execute
    result = task.execute()
  File "/usr/local/lib/python3.6/site-packages/huey/api.py", line 842, in execute
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/huey/contrib/djhuey/__init__.py", line 108, in inner
    return fn(*args, **kwargs)
  File "/code/app/tasks.py", line 89, in send_email
    email_message.send()
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/message.py", line 348, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 111, in send_messages
    sent = self._send(message)
  File "/usr/local/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 127, in _send
    self.connection.sendmail(from_email, recipients, message.as_bytes(linesep='\r\n'))
  File "/usr/local/lib/python3.6/smtplib.py", line 888, …
Run Code Online (Sandbox Code Playgroud)

python django hotmail

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

什么是VBA中的WorksheetFunction.IsNumber()和IsNumeric()之间的区别?

在VBA中使用这两个功能有什么不同?使用一个比另一个有速度优势吗?

Application.WorksheetFunction.IsNumber(myVar)
IsNumeric(myVar)
Run Code Online (Sandbox Code Playgroud)

vba function excel-vba

3
推荐指数
2
解决办法
709
查看次数