static char pathBuf[MAX_PATH];
static int do_abort = 0;
+static char* pdf2swf_dir;
static char* pdf2swf_path;
static char registry_path[1024];
}
}
if(message == WM_NOTIFY && (((LPNMHDR)lParam)->code == PSN_SETACTIVE)) {
- if(!elevated && !has_full_access && config_forAllUsers) {
+ if(!elevated && !has_full_access) {
OSVERSIONINFO winverinfo;
memset(&winverinfo, 0, sizeof(OSVERSIONINFO));
winverinfo.dwOSVersionInfoSize = sizeof(winverinfo);
BOOL CALLBACK PropertySheetFunc4(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
if(message == WM_INITDIALOG) {
- pdf2swf_path = concatPaths(install_path, "pdf2swf_gui.exe");
+ pdf2swf_dir = concatPaths(install_path, "gpdf2swf");
+ pdf2swf_path = concatPaths(pdf2swf_dir, "gpdf2swf.exe");
FILE*fi = fopen(pdf2swf_path, "rb");
if(fi) {
printf("a GUI program exists, creating desktop/startmenu links\n");
config_createLinks = 1;
fclose(fi);
+ } else {
+ config_createLinks = 0;
+ config_createStartmenu = 0;
+ config_createDesktop = 0;
}
if(!config_createLinks) {
- SendDlgItemMessage(hwnd, IDC_STARTMENU, SW_HIDE, 0, 0);
- SendDlgItemMessage(hwnd, IDC_DESKTOP, SW_HIDE, 0, 0);
+ SendDlgItemMessage(hwnd, IDC_STARTMENU, BN_DISABLE, 0, 0);
+ SendDlgItemMessage(hwnd, IDC_DESKTOP, BN_DISABLE, 0, 0);
}
SendDlgItemMessage(hwnd, IDC_STARTMENU, BM_SETCHECK, config_createStartmenu, 0);
if(message == WM_COMMAND) {
if((wParam&0xffff) == IDC_STARTMENU) {
config_createStartmenu = SendDlgItemMessage(hwnd, IDC_STARTMENU, BM_GETCHECK, 0, 0);
- config_createStartmenu^=1;
+ if(config_createLinks) {
+ config_createStartmenu^=1;
+ }
SendDlgItemMessage(hwnd, IDC_STARTMENU, BM_SETCHECK, config_createStartmenu, 0);
return 0;
}
if((wParam&0xffff) == IDC_DESKTOP) {
config_createDesktop = SendDlgItemMessage(hwnd, IDC_DESKTOP, BM_GETCHECK, 0, 0);
- config_createDesktop^=1;
+ if(config_createLinks) {
+ config_createDesktop^=1;
+ }
SendDlgItemMessage(hwnd, IDC_DESKTOP, BM_SETCHECK, config_createDesktop, 0);
return 0;
}
if(config_createDesktop && path_desktop[0]) {
char* linkName = concatPaths(path_desktop, "pdf2swf.lnk");
printf("Creating desktop link %s -> %s\n", linkName, pdf2swf_path);
- if(!CreateShortcut(pdf2swf_path, "pdf2swf", linkName, 0, 0, 0, install_path)) {
+ if(!CreateShortcut(pdf2swf_path, "pdf2swf", linkName, 0, 0, 0, pdf2swf_dir)) {
MessageBox(0, "Couldn't create desktop shortcut", INSTALLER_NAME, MB_OK);
return 1;
}
CreateDirectory(group, 0);
addDir(group);
char* linkName = concatPaths(group, "pdf2swf.lnk");
- if(!CreateShortcut(pdf2swf_path, "pdf2swf", concatPaths(group, "pdf2swf.lnk"), 0, 0, 0, install_path) ||
+ if(!CreateShortcut(pdf2swf_path, "pdf2swf", concatPaths(group, "pdf2swf.lnk"), 0, 0, 0, pdf2swf_dir) ||
!CreateShortcut(uninstall_path, "uninstall", concatPaths(group, "uninstall.lnk"), 0, 0, 0, install_path)) {
MessageBox(0, "Couldn't create start menu entry", INSTALLER_NAME, MB_OK);
return 1;