我在Win 7 RTM x64上创建了一个.NET C#WinForms应用程序,假设我已经调用了DataInstaller.
当我在调试器之外运行这个程序时(这只是一个没有功能的空表单),它可以正常工作,直到我关闭表单.然后,我从程序兼容性助手那里收到一条消息:
此程序可能未正确安装
然后,我可以选择使用推荐的设置重新安装,或者说安装确实按预期工作.
如果我将应用程序命名为"DataThingy",这不是问题,我想这与程序调用*Setup获得UAC屏蔽图标的方式有关.
我假设我可以将一些简单的东西放在应用程序清单中以防止这种情况发生?
我不确定这是否发生在Vista上,因为我目前没有访问权限.
更改名称不是一个选项,关闭UAC不是一个选项,所以请不要建议这个!
编辑:
我的天啊.
似乎如果以下任何一种情况属实,UAC坚持:
exe名称包含单词Installer
AssemblyInfo.cs中
AssemblyTitle contains the word 'Installer'
e.g. [assembly: AssemblyTitle("DataInstaller")]
AssemblyProduct contains the word 'Installer'
e.g. [assembly: AssemblyProduct("Data Installation Utility")]
Run Code Online (Sandbox Code Playgroud)
'Installer'也可以是'Setup'.
它乞丐信仰,它真的.显然,其中一位老VB6程序员已经在Redmond重新安置到UAC团队.
我仍然需要一个解决方法,我不准备接受我的应用程序不可能被称为安装程序,因为它不会触及注册表或将任何文件放在Program Files文件夹中.
我假设如果我尝试执行名为IAmAVirus.exe的应用程序,UAC会将机器置于完全锁定状态.(实际上,我不敢尝试,因为我并不完全相信我只是愚蠢)
我有一个问题,在这里几乎被问到:
asp.net mvc Html.ActionLink()保留我不想要的路由值
然而,最终的解决方案是一个纯粹而简单的kludge,我真的很想知道为什么会发生这种情况,如果有人可以向我解释一下呢?
为了完整起见,可以非常轻松地重新创建场景:
请注意,现在关于About的顶级菜单链接实际上链接到/ Home/About/Flib - 据我所知这是错误的,因为我现在绝对没有办法使用站点链接回到/ Home/About
我真的不明白为什么我应该被迫修改我的所有Html.ActionLinks以包含new { id = string.Empty }routevalues和null为htmlAttribs.这似乎特别糟糕,因为我已经指定id = 0了路线本身的一部分.
希望我在这里错过了一个技巧.
我有NHibernate的问题,我似乎无法找到一个简单的方法.
我有以下数据库:
游戏:ID,分数,Match_ID
匹配:ID
一场比赛包括3场比赛.
我想找出最大匹配分数是什么,所以下面的SQL可以解决这个问题:
select max(a.total) from
(select Match.ID, sum(Game.Score) as total
from Game inner join Match
on Game.Match_ID = Match.ID
group by Match.ID) a
Run Code Online (Sandbox Code Playgroud)
在NHibernate中,这看起来有点棘手.显然,HQL不允许from子句中的子查询,所以我不能真正使用它.
我很确定它可以用ICriteria完成,但我刚刚开始使用NH,所以我似乎无法弄明白.我基本上得到了以下内容:
Session.CreateCriteria<Game>()
.SetProjection(Projections.ProjectionList()
.Add(Projections.GroupProperty("Match"))
.Add(Projections.Sum("Score"))).List();
Run Code Online (Sandbox Code Playgroud)
在那之后,我玩了各种各样的DetachedCriteria,但似乎只是围成一圈.
希望有人能够对我目前使用Oracle数据库的问题有所了解 - 我确信这很简单!
我已经设法在一个示例中重新创建了这个,所以这里是数据库结构:
CREATE TABLE MyTable(
ixMyTable NUMBER,
clobData CLOB
)
/
CREATE OR REPLACE PACKAGE PKGTEST
AS
PROCEDURE DoSomething(
cur_OUT OUT SYS_REFCURSOR
);
END PKGTEST;
/
CREATE OR REPLACE PACKAGE BODY PKGTEST
AS
PROCEDURE DoSomething(
cur_OUT OUT SYS_REFCURSOR
)
AS
BEGIN
OPEN cur_OUT FOR
SELECT ixMyTable, clobData
FROM MyTable;
END;
END PKGTEST;
/
GRANT EXECUTE ON PKGTEST TO TEST_ROLE
/
BEGIN
FOR i IN 1 .. 7000 LOOP
insert into mytable values (i, TO_CLOB('123456'));
END LOOP;
END;
/ …Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×2
asp.net-mvc ×1
clob ×1
database ×1
manifest ×1
nhibernate ×1
oracle ×1
sql-server ×1
uac ×1
windows-7 ×1