小编mkv*_*kva的帖子

如何从PascalScript代码更新InnoSetup向导GUI状态文本

我在CurStepChanged(ssPostInstall)PascalScripting事件处理程序中的InnoSetup脚本中执行了很多自定义操作.由于这些操作需要一些时间才能完成,我想更新InnoSetup Wizard GUI状态文本并告诉用户幕后发生了什么.使用"StatusMsg"参数在[Run]部分中可能出现的类似情况.我知道我可以使用TOutputProgressWizardPage/CreateOutputProgressPage(),我在之前的项目中做过,但这对我来说有点太过分了......

是否更容易从PascalScripting代码更新InnoSetup Wizard GUI状态文本,其效果与StatusMsg参数相同?

installation installer inno-setup

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

如何使用LINQ to Entities从另一个表中包含一个特定行

我有一个包含这两个表的数据库:CustomerCustomerStatus.CustomerStatus是一个所谓的只读表.对客户状态的所有更改都会导致INSERT进入该表.当前客户状态可通过以下位置找到CustomerStatus.StatusTimestamp.

现在我正在寻找一个LINQ to实体查询,它将所有Customers加载到它们的当前状态.就像是

.Include("CustomerStatus.OrderByDescending(StatusTimestamp).FirstOrDefault()").

我没有找到适合EF 4.0的方法.

我目前的解决方法非常难看并使用两个步骤:

步骤1:加载所有状态的LINQ查询(在业务/数据层中):

var r = from c in db.Customers.Include("CustomerStatus") select c;

步骤2:从GUI中的每个客户获取合适的状态(在MVC3视图的循环中):

c.CustomerStatus.OrderByDescending(i => i.StatusTimestamp).FirstOrDefault()

知道如何直接一步完成这项工作吗?

.net c# linq entity-framework

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

如何强制InnoSetup创建卸载日志文件

我正在使用InnoSetup来创建我的应用程序安装程序,并设置"SetupLogging = yes"标志以始终在%TEMP%目录中创建一个setup-log文件.这适用于安装过程.不幸的是,InnoSetup在卸载应用程序时不会创建这样的日志文件.

是否有标志/可能强制InnoSetup也创建卸载日志文件?

installation installer inno-setup

4
推荐指数
3
解决办法
4298
查看次数

如何在卸载期间从PascalScript代码更新InnoSetup Wizard GUI状态文本

在安装过程中,可以使用以下代码(如何从PascalScript代码更新InnoSetup向导GUI状态文本)从PascalScript事件处理程序"CurStepChanged(ssPostInstall)" 内更新InnoSetup向导状态文本:

WizardForm.StatusLabel.Caption := 'status update';
Run Code Online (Sandbox Code Playgroud)

这不适用于卸载.从"CurUninstallStepChanged(usUninstall)"内部访问此属性失败,并显示以下错误:

"Runtime Error: Line 526: Exception: Internal Error: An attempt was made to access WizardForm before it has been created."
Run Code Online (Sandbox Code Playgroud)

知道如何在卸载期间更改InnoSetup向导状态文本吗?也许"usUninstall"太早了?但是标签已经存在并且在卸载程序的GUI中可见...

installation installer inno-setup

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

标签 统计

inno-setup ×3

installation ×3

installer ×3

.net ×1

c# ×1

entity-framework ×1

linq ×1