小编Sur*_*rge的帖子

需要在inno安装程序中覆盖DLL - 但文件没有被替换

我正在使用Inno安装程序为我的VB.net应用程序安装补丁更新,我必须替换DLL文件和几个javascript/html文件进行更新.但是,DLL没有得到更新(它在C:\ program files ...中) - 即使在没有UAC的XP系统上它也没有被替换,但是当我手动删除DLL并重新运行补丁时,文件被复制.它不是只读的,并且XP案例中不涉及UAC/admin权限.

如果文件已经存在,那么文件不会被复制的原因是什么?它内置于VS2008和.NET 2.0中 - 新的DLL也具有更新的日期和大小差异.

有没有办法解决Vista/Win7/8上的UAC写访问问题?我想补丁永远不会成功用UAC替换这些系统上的文件.告诉我们的用户群将其关闭显然不是一种选择.

[编辑]通过在构建解决方案时从Release文件夹中提取dll程序集,将dll程序集打包到Visual Studio中的setup.exe中.inno setup iss [File]部分包含:

[Files]
Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\setup.exe; DestDir: {app}
Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\interact.msi; DestDir: {app}
[Run]
Filename: {app}\setup.exe; Flags: runmaximized
Run Code Online (Sandbox Code Playgroud)

windows dll inno-setup

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

将小数部分提取到 XSL 模板中的变量中

在执行 ceil 函数之前,我需要将小数点后 2 位(货币金额,因此最多只需要 2 位)存储在 XSL 变量中。

<xsl:element name="BaseFare"><xsl:value-of select="ceiling(BaseAmount/Amount * (1 - ($promoDisc div 100)))"/></xsl:element>
Run Code Online (Sandbox Code Playgroud)

例如。如果金额的结果是 499 并且 promoDisc = 8%,那么折扣金额将为 459.08 - 我需要将“08”(带零)存储在变量中以供稍后使用,同时返回上限金额(460)在输出 XML 中。我以为我可以只执行一个字符串函数并将小数点后的 2 个字符读入变量而不进行任何数学运算?

format xslt decimal

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

标签 统计

decimal ×1

dll ×1

format ×1

inno-setup ×1

windows ×1

xslt ×1