我正在使用:
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
Run Code Online (Sandbox Code Playgroud)
为了确定是否在用户机器上检测到程序(这不是理想的,但我正在寻找的程序是MS-DOS应用程序的正确旧程序,我想不出另一种方法).
在Windows XP和32位版本的Windows Vista上,这可以正常工作.但是,在x64 Windows Vista上,代码返回x64 Program Files文件夹,而应用程序安装在Program Files x86中.有没有办法以编程方式返回程序文件x86的路径,而无需硬连线"C:\ Program Files(x86)"?
我在平台上长时间缺席后开发了一个用Java开发的LoB应用程序(花了大约8年左右的时间在Fortran,C,一个微软的C++和后来的.Net).
Java,这种语言,与我记忆中的方式相比并没有太大变化.我喜欢它的优点,我可以解决它的弱点 - 平台已经发展并决定了无数不同的框架,这些框架似乎做了很多相同的事情是一个不同的故事; 但这可以等待另一天 - 总而言之,我对Java感到满意.然而,在过去的几周里,我迷上了Groovy,纯粹是出于自私的观点:但不仅仅是因为它使得针对JVM的开发变得更加简洁和有趣(并且,很好,"groovy")命题比Java(语言).
Groovy最令我印象深刻的是其固有的可维护性.我们所有人(我希望!)努力编写记录良好,易于理解的代码.但是,有时我们使用的语言会让我们失望.例如:2001年,我在C中编写了一个库,将EDIFACT EDI消息转换为ANSI X12消息.这不是一个特别复杂的过程,如果稍微涉及,我当时认为我已经正确记录了代码 - 我可能已经 - 但是大约六年后我重新访问项目(并且在适应C#之后)我找到了我自己迷失在如此多的C样板(mallocs,指针等等)中,经过三天深思熟虑的分析才终于明白我六年前做过的事情.
今天晚上我写了大约2000行Java(毕竟这是休息日!).我记得最好,因为我知道如何,但是,在那2000行Java中,很大一部分是Java样板.
这是我看到Groovy和其他动态语言获胜的地方 - 可维护性和后来的理解.Groovy让您专注于您的意图,而不会陷入特定于平台的实现; 这几乎是,但并不完全是自我记录.我认为这对我来说是一个巨大的好处,当我重新审视我当前的项目(我将在几年后将其移植到Groovy)以及我的继承者,他们将继承它并继续做好工作.
那么,有没有理由不使用Groovy?
我有一个名为"Session"的类,它暴露了几个公共方法.我想对Unit进行单元测试,但是在生产中我需要控制"Session"对象的实例化,因此将构造委托给SessionManager类并使Session的构造函数内部化.
理想情况下,我希望将Session类与SessionManager隔离开来,它创建它/它们来证明Session公开的公共接口按预期工作 - 但不能使用SessionManager实例化一个Session而不使用SessionManager测试比他们需要的更复杂/更少有用.
处理这个问题的最佳方法是什么?
干杯,
莱尼.
这几乎让我失败了.
在XP和早期版本的Windows上,您可以自定义Open With filetypes以包含java-jar"myjar.jar",但在Vista上,此功能似乎已被删除.我当然可以创建一个.bat文件来启动我的应用程序,但是可以根据需要让Vista执行.jar吗?
我今晚一直在使用GlassFish v3前奏.我不确定的一些事情是安全性如何运作.
它像梦一样安装,所以我做的第一件事是删除匿名帐户并使用"mysecretpassword"设置"admin"帐户,并在管理域中为此用户指定asadmin组.
此时,stop-domain命令从控制台(和/或开始菜单快捷方式)停止工作.很公平,但stop-domain命令接受--user参数,但后来想要提供一个--passwordfile路径,我不知道它在哪里.
经过一些谷歌搜索我偶然登录asaadmin登录-p 4848,它在我的文档中创建了一个密码文件,然后停止域开始工作!
所以问题:
1)是否可以获得stop-domain来提示用户/密码?
2)拥有带有(哈希)密码的文件的整个业务对我来说听起来不是很好 - 为什么他们这样做,并且可以转让,是否可以禁用,如果可以的话,我该如何停止域名?
3)安全领域如何运作 - 如它们是什么,它们如何不同?
4)GF v3上最好的资源(书籍,网站,等等)是什么?
假设我写了一个.Net dll,并想用我的应用程序分发它.如何通过向自己的应用程序添加对此dll的引用来阻止任何具有精明的用户安装VS的副本?