小编Mar*_*ryl的帖子

如何让Inno Setup解压缩它安装的文件(所有这些都作为一个安装过程的一部分)

为了节省带宽/空间以及防止意外干扰,数据库产品的安装文件(称之为Ajax)已被压缩(调用该文件"AJAX_Install_Files.ZIP).我想让Inno-Setup"安装" (即,复制)AJAX_Install_Files.ZIP文件到目标,然后将文件解压缩到.ZIP文件所在的同一文件夹中.后续程序将由Inno安装程序启动以实际运行产品安装"Ajax ".

我查看了Inno Setup网站上的文档,FAQ和KB,除了编写Pascal脚本(代码)之外,这似乎不可能 - 这是正确的,还是有任何替代解决方案?

zip inno-setup unzip

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

C#创建和使用函数

我需要C#编程方面的帮助; 我是新手,我来自C背景.我有一个这样的控制台应用程序:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Add_Function
{
   class Program
   {
      static void Main(string[] args)
      {
         int a;
         int b;
         int c;

         Console.WriteLine("Enter value of 'a':");
         a = Convert.ToInt32(Console.ReadLine());

         Console.WriteLine("Enter value of 'b':");
         b = Convert.ToInt32(Console.ReadLine());

         //why can't I not use it this way?
         c = Add(a, b);
         Console.WriteLine("a + b = {0}", c);
      }//END   Main

      public int Add(int x, int y)
      { 
         int result = x + y;
         return result;
      }//END   Add
   }//END      Program …
Run Code Online (Sandbox Code Playgroud)

c# function

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

如何将值传递给psftp提示符

我正在以编程方式创建脚本文件,并调用psftp.exe如下:

psftp user@hostname.com -pw password -b psftpscript.txt
Run Code Online (Sandbox Code Playgroud)

但它会提示用户输入

服务器的主机密钥未缓存在注册表中.您无法保证服务器是您认为的计算机.服务器的rsa2密钥指纹是:[ssh-rsa 1024 somekey]如果你信任这个主机,输入"y"将密钥添加到PuTTY的缓存并继续连接.如果要仅进行一次连接,而不将密钥添加到缓存中,请输入"n".如果您不信任此主机,请按Return键放弃连接.将密钥存储在缓存中?(Y/N)

我需要它完全迅速,自动.我尝试了-batch参数,但它只是放弃了连接

sftp putty

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

如何检测旧安装和提供删除?

如何检测用户是否已安装软件,如果是,如何提供删除旧版本的可能性?

我写了一些行来检查.这是正确的吗?如果这是正确的,那么我该如何让用户选择是继续安装还是卸载旧版本?

#define UNINSTKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\setupname_is1"

var
  uninstallPath: string;

function InitializeSetup: Boolean;
begin
  if (RegQueryStringValue(HKLM,'{#UNINSTKEY}','UninstallString',uninstallPath)) and
     (uninstallPath <> '') and (fileexists(uninstallPath)) then
  begin
    Result :=
      (MsgBox(CustomMessage('NotVerifiedVersionFound'), mbConfirmation,
              MB_YESNO or MB_DEFBUTTON2) = IDYES);
  end;
  { ... }
end;
Run Code Online (Sandbox Code Playgroud)

inno-setup

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

允许在资源管理器样式列表视图中选择从第一列开始

在Windows 7的Windows资源管理器列表视图(据称根本不是列表视图)的详细信息视图中,您可以在第一个(名称)列中启动选择选取框.你只需要在实际名称之外开始.

Windows 7的Windows资源管理器选择框

"详细信息"视图中的默认样式列表视图控件也是如此.

但是,如果将列表视图控件设置为Explorer样式(使用SetWindowTheme),那么应该模仿Windows资源管理器,这将不再起作用.您只能在第二列和后面的列中开始选择.

SetWindowTheme(listView1.Handle, "explorer", null);
Run Code Online (Sandbox Code Playgroud)

有没有办法让列表视图模仿资源管理器的选择样式?

我想没有设置来启用这种行为,这必须编码.喜欢处理鼠标并触发选择.但我不知道该怎么做.

谢谢.

Ntb,我正在使用C++ Builder,但这应该是纯粹的Win32问题.我也用WinForms进行了测试(因此上面的C#示例).

windows winapi listview windows-7 winforms

16
推荐指数
2
解决办法
1003
查看次数

Inno设置:控制面板图标不显示

我有一个Inno安装项目.一切都很好,但我没有在"程序和功能"控制面板区域中看到应用程序图标.我确实在其他地方看到了这个图标.

脚本文件具有以下内容:

[Setup]
SetupIconFile={#MySetupImageIco}
Run Code Online (Sandbox Code Playgroud)

是否还需要设置其他内容以使应用程序图标显示在"程序和功能"控制面板小程序中?我正在测试Windows 8.1.


更新:
根据评论,我尝试在我的脚本中设置:

UninstallDisplayIcon={#MySetupImageIco}
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这并没有在添加/删除程序和功能控制面板小程序中产生图标.


更新#2:
获胜的解决方案是:

UninstallDisplayIcon={app}\{#MyAppExeName}
Run Code Online (Sandbox Code Playgroud)

当然,#define MyAppExeName "whatever.exe"在脚本的顶部必须有一个以上.有趣的是,当我指定ico文件的路径时,我没有成功.适用于Windows 8和8.1的Inno Setup需要我刚才所说的内容.Windows 7使用UninstallDisplayIcon并指定ICO的路径,或者没有它,只是Windows 8和8.1有点不同.

windows inno-setup setup-deployment ico

16
推荐指数
2
解决办法
7216
查看次数

Azure WebJobs SDK - 在什么情况下需要创建JobHost对象?

与Azure WebJobs SDK关联的大多数示例都具有如下所示的启动代码:

static void Main()
{
    JobHost h = new JobHost();
    h.RunAndBlock();
}
Run Code Online (Sandbox Code Playgroud)

但是,您也可以在不创建如下JobHost对象的情况下启动WebJob :

static void Main()
{
    // Do something...
}
Run Code Online (Sandbox Code Playgroud)

在什么情况下是JobHost必要的?

azure azure-webjobs azure-webjobssdk

16
推荐指数
2
解决办法
3561
查看次数

如何使用相同的TLS会话连接到具有数据连接的FTPS服务器?

环境:我在64位Windows 7上使用Sun Java JDK 1.8.0_60,使用Spring Integration 4.1.6(内部似乎使用Apache Commons Net 3.3进行FTPS访问).

我正在尝试与我们的应用程序集成,从客户端的FTPS服务器自动下载.我已经使用Spring Integration成功完成了使用Spring Integration的SFTP服务器而没有遇到任何问题,但是这是客户第一次要求我们使用FTPS,并且让它连接起来非常令人费解.虽然在我的实际应用程序中,我正在使用XML bean配置Spring Integration,试图了解什么不起作用我正在使用以下测试代码(虽然我在这里匿名实际的主机/用户名/密码):

final DefaultFtpsSessionFactory sessionFactory = new DefaultFtpsSessionFactory();
sessionFactory.setHost("XXXXXXXXX");
sessionFactory.setPort(990);
sessionFactory.setUsername("XXXXXXX");
sessionFactory.setPassword("XXXXXXX");
sessionFactory.setClientMode(2);
sessionFactory.setFileType(2);
sessionFactory.setUseClientMode(true);
sessionFactory.setImplicit(true);
sessionFactory.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager());
sessionFactory.setProt("P");
sessionFactory.setProtocol("TLSv1.2");
sessionFactory.setProtocols(new String[]{"TLSv1.2"});
sessionFactory.setSessionCreation(true);
sessionFactory.setCipherSuites(new String[]{"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"});

final FtpSession session = sessionFactory.getSession();
//try {
    final FTPFile[] ftpFiles = session.list("/");
    logger.debug("FtpFiles: {}", (Object[]) ftpFiles);
//} catch (Exception ignored ) {}
session.close();
Run Code Online (Sandbox Code Playgroud)

我正在运行此代码以-Djavax.net.debug=all打印所有TLS调试信息.

与FTPS服务器的主要"控制"连接工作正常,但是当它试图打开列表的数据连接(或我尝试过的任何其他数据连接)时,我得到了一个javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake,由...引起的java.io.EOFException: SSL peer shut down incorrectly.如果我取消注释session.list …

java ftp filezilla ftps apache-commons-net

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

C#通过FTP下载所有文件和子目录

一般信息
我还在学习C#.为了帮助自己,我正在尝试创建一个程序,它将自动将我的所有本地项目与我的FTP服务器上的文件夹同步.这样,无论我是在学校还是在家,我总是可以使用相同的项目.

我知道像Dropbox这样的程序已经为我做了这个,但我想创造类似的东西,我自己会教我很多东西.

问题
我迈向目标的第一步是从我的FTP服务器下载所有文件,子目录和子文件.我已经设法从下面的代码下载目录中的所有文件.但是,我的代码只列出了主目录中的文件夹名称和文件.子文件夹和子文件永远不会返回,也永远不会下载.除此之外,服务器返回550错误,因为我正在尝试下载文件夹,就像它们是文件一样.我已经在这上面了4个多小时了,但我找不到任何关于如何解决这些问题并让它发挥作用的事情.因此,我希望你们能帮助我:)

public string[] GetFileList()
{
    string[] downloadFiles;
    StringBuilder result = new StringBuilder();
    WebResponse response = null;
    StreamReader reader = null;

    try
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
        request.UseBinary = true;
        request.Method = WebRequestMethods.Ftp.ListDirectory;
        request.Credentials = new NetworkCredential(ftpUserName, ftpPassWord);
        request.KeepAlive = false;
        request.UsePassive = false;
        response = request.GetResponse();
        reader = new StreamReader(response.GetResponseStream());
        string line = reader.ReadLine();
        while (line != null)
        {
            result.Append(line);
            result.Append("\n");
            line = reader.ReadLine();
        }
        result.Remove(result.ToString().LastIndexOf('\n'), 1);
        return result.ToString().Split('\n');
    }
    catch (Exception ex)
    {
        if …
Run Code Online (Sandbox Code Playgroud)

.net c# ftp ftpwebrequest

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

如何在python中通过sftp连接后列出目录中的所有文件夹和文件

嗨我正在使用python并尝试连接到sftp并想从那里检索xml文件并需要放在我的本地系统中,下面是代码

import paramiko

sftpURL   =  'sftp.somewebsite.com'
sftpUser  =  'user_name'
sftpPass  =  'password'

ssh = paramiko.SSHClient()
# automatically add keys without requiring human intervention
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )

ssh.connect(sftpURL, username=sftpUser, password=sftpPass)

ftp = ssh.open_sftp()
files = ftp.listdir()
print files
Run Code Online (Sandbox Code Playgroud)

这里连接已成功完成,现在我想查看所有文件夹和所有文件,并需要输入所需的文件夹以从那里检索xml文件.

最后我的目的是在连接到sftp服务器后查看所有文件夹和文件.在上面的代码中我使用了ftp.listdir()通过它获得输出,如下所示

['.bash_logout', '.bash_profile', '.bashrc', '.mozilla', 'testfile_248.xml']
Run Code Online (Sandbox Code Playgroud)

我想知道这些是否是唯一存在的文件?

我上面使用的命令也是查看文件夹的权利吗?

查看所有文件夹和文件的命令是什么

python ssh sftp paramiko

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